저작권 안내
- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
switch 분기문 사용하기
이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07
다양한 조건을 if, else if 조건문으로 나열하는 것보다 switch
분기문을 사용하면 좀 더 간단하게 조건을 표현할 수 있습니다.
- switch 변수 { case 값: 코드 }
switch 변수 {
case 값1:
// 값1일 때 실행할 코드를 작성합니다.
case 값2:
// 값2일 때 실행할 코드를 작성합니다.
default:
// 모든 case에 해당하지 않을 때 실행할 코드를 작성합니다.
}
각 case
는 처음부터 순서대로 값을 판단하며 값이 일치하면 해당 코드를 실행한 뒤 switch 분기문을 중단합니다. 그리고 모든 case에 해당하지 않을 때는 default:
를 실행합니다. 한가지 특이한 점은 Go 언어의 switch 분기문은 C, C++와는 달리 case에서 break 키워드를 생략합니다.
이제 switch 분기문을 사용하여 변수 i가 0, 1, 2, 3, 4일 때 각 숫자를 표시하고 아무것도 해당되지 않을 때는 -1을 표시해보겠습니다.
i := 3
switch i { // 값을 판단할 변수 설정
case 0: // 각 조건에 일치하는
fmt.Println(0) // 코드를 실행합니다.
case 1:
fmt.Println(1)
case 2:
fmt.Println(2)
case 3: // 3과 변수의 값이 일치하므로
fmt.Println(3) // 이 부분을 실행하고 이후 실행을 중단
case 4:
fmt.Println(4)
default: // 모든 case에 해당하지 않을 때 실행
fmt.Println(-1)
}
실행 결과
3
switch에 i를 설정했으므로 i의 값에 따라 각 case가 실행됩니다. 여기서는 i에 3이 들어있으므로 case 3:이 실행되어 3이 출력됩니다.
case는 숫자뿐만 아니라 문자열도 값으로 사용할 수 있습니다.
s := "world"
switch s { // 값을 판단할 변수 설정
case "hello": // 각 조건에 일치하는
fmt.Println("hello") // 코드를 실행합니다.
case "world": // 문자열 "world"와 변수의 값이 일치하므로
fmt.Println("world") // 이 부분을 실행하고 이후 실행을 중단
default:
fmt.Println("일치하는 문자열이 없습니다.")
}
실행 결과
world
저작권 안내
이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.- 블로그, 게시판 등에 퍼가는 것을 금지합니다.
- 비공개 포스트에 퍼가는 것을 금지합니다.
- 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
- 링크 및 SNS 공유는 허용합니다.