프로그래밍언어/Go
switch문『Tucker의 Go 언어 프로그래밍#10』
구구절절2
2021. 5. 27. 16:40
반응형
본글은 『Tucker의 Go 언어 프로그래밍』 스터디 요약 노트입니다.
Switch 문
if 문이 조건에 따라 다른 로직을 수행하는 것이라면 switch문은 값에 따라 다른 로직을 수행할 때 사용한다. 형식은 거의 조건문과 같다. 초기문을 사용할 수 있고 비교값으로 true를 사용하면 if문과 비슷하게 사용할 수 있다.
switch 비굣값 { // 비굣값에는 true, false를 적을 수도 있다. true와 false로 사용하면 조건문과 같다.
case 값1:
문장
case 값2:
문장
default: //모두 다 해당하지 않을 때 default 실행한다.
문장
}
//해당하는 값을 만나면 문장을 수행하고 스위치문을 빠져나간다.
스위치 문은 복잡하게 얽혀있는 if else문을 비교적 간단하게 만들 수 있습니다. 이럴 때 사용하는 용도입니다.
한 번에 여러 값 비교 가능
같은 로직을 실행시키고 싶을 때는 case로 묶을 수 있다.
package main
import "fmt"
func main() {
day := "thursday"
switch day {
case "monday" , "wednesday":
fmt.Println("월,수는 10시에 go언어 수업가는 날!")
case "tuesday" ,"thursday" , "friday":
fmt.Println("화,목,금은 복습하는 날 ")
}
}
const 열거값과 switch
const 열거값에 따라 수행되는 로직을 변경할 때 switch문을 주로 사용한다.
package main
import "fmt"
type ColorType int //새로운 타입을 만든다는 뜻 나는 colortype이라는 타입을 선언한다는 뜻
const (
Red ColorType = iota //타입을 새로 지정하는 이유는 의미를 명확하게하기 위함이다.
Blue
Green
Yellow
)
func colorToString(color ColorType) string {
switch color {
case Red:
return "Red"
case Blue:
return "Blue"
case Green:
return "Green"
case Yellow:
return "Yellow"
default:
return "Undefined"
}
}
func getMyFavoriteColor() ColorType {
return Blue
}
func main() {
fmt.Println("My favorite color is" , colorToString(getMyFavoriteColor()))
}
break와 fallthrough 키워드
switch에서는 해당하는 값을 만나면 문장을 실행하고 switch 문을 종료한다. 하지만 fallthrough를 사용하면 문장을 실행하고 switch문을 종료하지 않고 다음 case로 넘어간다. 그리고 break을 사용하면 switch 문을 빠져나간다.
반응형
Uploaded by Notion2Tistory v1.1.0