Scroll Top

GOLANG – 조건문

GO

IF 조건문

if문의 조건식은 반드시 boolean 식으로 표현되어야 한다.

package main
import "fmt"
func main() {
        if 2%2 == 0 {
                fmt.Println("2%2의 나머지는 0이다")
        } else {
                fmt.Println("2%2의 나머지는 0이 아니다")
        }
        if 4%2 == 0 {
                fmt.Println("4%2의 나머지는 0이다")
        }
        if a := 9; a < 0 {
                fmt.Println(a, "는 0보다 작다")
        } else if a < 10 {
                fmt.Println(a, "는 한자리 수다")
        } else {
                fmt.Println(a, "는 한자리 수가 아니다")
        }
}

또한 else 를 사용해 if 문의 조건식이 거짓(false)일 경우 실행시킬 수 있으며 else if 를 통해 if 문을 중첩해서 사용할 수 있다.

Switch 문

여러 값을 비교해야 할 때 혹은 다수의 조건식을 체크해야 할 때 사용할 수 있다.

package main
import "fmt"
func main() {
    var name string
    var category = 1

    switch category {
    case 1:
        name = "Paper Book"
    case 2:
        name = "eBook"
    case 3, 4:
        name = "Blog"
        fallthrough
    default:
        name = "Other"
    }
    fmt.Println(name)
}

go 의 컴파일러가 자동으로 case 뒤에 break 키워드를 추가하여 해당 케이스에 해당되면 break 가 실행된다. 만약 break 키워드를 무시하기 위해선 fallthrough 키워드를 추가한다.

switch text.(type){
case int:
    fmt.Println("int")
case bool:
    fmt.Println("bool")
case string:
    fmt.Println("string")
default:
    fmt.Println("unknown")
}

switch 구문에는 예제처럼 변수의 타입으로도 작동한다.

Related Posts

Leave a comment

You must be logged in to post a comment.