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 구문에는 예제처럼 변수의 타입으로도 작동한다.