Go by Example: [07] Switch
Switch
switch
문장은 여러개의 조건 분기를 처리할 경우에 사용하면, 읽기도 편하고 이해하기도 쉽습니다.
package main
import "fmt"
import "time"
func main() {
i := 2
fmt.Print("write ", i, " as ")
switch i { // [1]
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
}
switch time.Now().Weekday() { // [2]
case time.Saturday, time.Sunday:
fmt.Println("it's the weekend")
default:
fmt.Println("it's a weekday")
}
t := time.Now()
switch { // [3]
case t.Hour() < 12:
fmt.Println("its's before noon")
default:
fmt.Println("it's after noon")
}
}
- 기본적인
switch
문장입니다. - 쉼표(
,
)로 분리된 여러개의 값을 한개의case
문에서 사용할 수 있습니다.
default
를 추가적으로 사용할 수 있습니다. (case문에서 원하는 값이 없을 경우 수행합니다.) switch
문장은 수식없이 사용할 수 있습니다.if/else
문장과 유사한 효과를 낼 수 있습니다.
예제에서와 같이case
문에서 상수값이 아닌값도 사용할 수 있습니다.
실행하면 다음과 같습니다.
$ go run switch.go
write 2 as two
it's the weekend
it's before noon