728x90
이제 숫자 옆에 영문 이름도 같이 넣는 프로그램을 만들어보자. 현재까지의 지식으로는 다음과 같이 짤 수 있을 것이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | if i == 0 { fmt.Println("Zero") } else if i == 1 { fmt.Println("One") } else if i == 2 { fmt.Println("Two") } else if i == 3 { fmt.Println("Three") } else if i == 4 { fmt.Println("Four") } else if i == 5 { fmt.Println("Five") } | cs |
이건 말도 안된다. switch 명령을 이용해보자. 다음과 같이 다시 작성할 수 있을 것이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package main import "fmt" func main() { switch i { case 0: fmt.Println("Zero") case 1: fmt.Println("One") case 2: fmt.Println("Two") case 3: fmt.Println("Three") case 4: fmt.Println("Four") case 5: fmt.Println("Five") default: fmt.Println("Unknown Number") } } | cs |
switch 문은 switch 키워드가 먼저 나오고, 다음으로 식 (여기서는 i) 과 일련의 case 문이 나온다. 표현식의 값은 각각의 case 키워드와 비교하게 된다. 만약 둘의 값이 같으면 : 다음의 부분이 실행되는 것이다.
if 문과 마찬가지로, 각각의 case 문 역시 위에서 아래로 한 줄씩 실행된다. switch 문은 일치하는 값이 없을 때 표현할 default 값을 지원한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package main import "fmt" func main() { for i := 0; i <= 10; i ++ { switch i { case 0: fmt.Println(i, "Zero") case 1: fmt.Println(i, "One") case 2: fmt.Println(i, "Two") case 3: fmt.Println(i, "Three") case 4: fmt.Println(i, "Four") case 5: fmt.Println(i, "Five") default: fmt.Println(i, "Unknown Number") } } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 | :~/go/src/golang-book/chapter5# go run main.go 0 Zero 1 One 2 Two 3 Three 4 Four 5 Five 6 Unknown Number 7 Unknown Number 8 Unknown Number 9 Unknown Number 10 Unknown Number | cs |
728x90
'프로그래밍 Programming' 카테고리의 다른 글
Go 언어 입문 - Control Structures - Slice (golang-book) (0) | 2018.09.04 |
---|---|
Go 언어 입문 - Control Structures - Array (golang-book) (0) | 2018.09.01 |
Go 언어 입문 - Control Structures - If (golang-book) (0) | 2018.08.31 |
Go 언어 입문 - Control Structures - For (golang-book) (0) | 2018.08.31 |
Go 언어 입문 - Variables (golang-book) (0) | 2018.08.28 |