switch 는 표현식(Expression)과 타입이 있다.
기초니까 표현식만 확인해보자 !
Go의 switch 문법은 다른 언어와 많이 다르다
package main
import "fmt"
func main() {
words := []string{"a", "bb", "ccc", "dddd", "eeeee"}
for _, word := range words {
switch size := len(word); size {
// 글자 길이를 size 로 저장하고 size 값 마다 구분하여 실행합니다.
case 1, 2:
fmt.Println(word, "is word.length = 1,2") // break 가 없다!
case 3:
tokenLen := len(word)
fmt.Println(word, "is word.length == 3 , length:", tokenLen)
case 4:
// 아무것도 없다..
default:
fmt.Println(word, "is another")
}
}
}
다른 언어에서는 꼭 써야 할 break 가 없고,
case 안에 아무것도 없다면 default 도 실행하지 않는다! ( 아무것도 안함 )
확실히 가독성이 좋고 불필요한 규칙이 안보여서 깔끔하다!
만약 반복문 탈출을 원한다면 break 를 추가해서 for 의 루프에서 탈출하는 방법이 있다.
break loop 를 써주면 된다.