반응형
# 기본 switch문 구조
switch 비굣값 {
case 값1:
문장1
case 값2:
문장2
default:
문장3
}
- 비굣값과 값1이 같을 때 문장1 실행하고 종료됩니다. 비굣값이 값이과 다르면 그 다음 값2를 체크합니다. 값2와 값이 다르면 default 문장이 실행됩니다. default는 생략이 가능합니다.
- ★ 다른 언어와 다르게 Go언어는 break를 사용하지 않아도 자동으로 switch문을 빠져 나갑니다.
- 다음 case문으로 가고 싶을 때에는 fallthrough를 사용하면 됩니다. 되도록 사용하지 않길 권장한다고 한다.
예시
today := "sunday"
switch today {
case "monday", "tuesday", "wednesday","thursday","friday":
fmt.Println("오늘은 출근해야합니다")
case "saturday", "sunday":
fmt.Println("오늘은 푹 쉬어도 됩니다")
default:
fmt.Println("값을 잘못입력했습니다.")
}
- today는 sunday이기 때문에 결과값은 "오늘은 푹 쉬어도 됩니다"입니다.
# 비굣값없는 switch문
switch {
case 값1:
문장1
case 값2:
문장2
default:
문장3
}
- 비굣값을 생략할 수 있습니다. 그럼 비굣값은 true입니다.
예시
day :=28
switch {
case day>=1 && day <=10:
fmt.Println("월 초 입니다")
case day>20 && day <=31:
fmt.Println("월 말입니다.")
case day >31:
fmt.Println("잘못입력했습니다.")
default :
fmt.Println("월 중간입니다.")
}
- 결과값 : 월 말입니다.
- 조건문을 비교할 수 있습니다.
# 초기값 설정하는 switch문
switch 초기값; 비굣값 {
case 값1:
문장1
case 값2:
문장2
default:
문장3
}
예시
switch month:=10; month{
case 1,2,12:
fmt.Println("겨울입니다.")
case 3,4,5:
fmt.Println("봄입니다.")
case 6,7,8:
fmt.Println("여름입니다.")
case 9,10,11:
fmt.Println("가을입니다.")
default :
fmt.Println("1~12월까지만 존재합니다.")
}
- switch문은 한번에 여러값을 비교할 수 있습니다.
반응형
'Study > Go 언어' 카테고리의 다른 글
[golang] for range 공부하기 (0) | 2022.02.13 |
---|---|
[golang] for문 공부하기 (0) | 2022.02.12 |
[golang] if문 공부하기 (0) | 2022.02.10 |
[golang] 글자 양쪽 공백 제거하는 방법(trim) (0) | 2022.01.30 |
[golang] if문 대신 switch를 쓰는 이유 (0) | 2022.01.23 |