개요
이번 블로그 포스트에서는 Golang에서 switch
문을 사용하는 방법에 대해서 살펴보려고 합니다. 이 블로그 포스트에서 소개하는 코드는 다음 링크를 통해 확인하실 수 있습니다.
switch문
if
문은 조건을 검사하여 코드 블록을 실행하지만, switch
문은 값을 검사하고 해당 코드 블록을 실행합니다.
switch 비교값{
case 값1:
코드 블록
case 값2:
코드 블록
default:
코드 블록
}
Golang에서 switch
문을 사용하는 방법에 대해서 살펴보기 위해 main.go
파일을 생성하고 다음과 같이 수정합니다.
package main
import "fmt"
func main() {
a := 2
switch a {
case 1:
fmt.Println("a == 1")
case 2:
fmt.Println("a == 2")
case 3:
fmt.Println("a == 3")
default:
fmt.Println("a is not 1, 2 or 3")
}
}
프로그램을 실행하면 다음과 같은 결과를 확인할 수 있습니다.
# go run main.go
a == 2
break & fallthrough
보통 다른 언어에서 switch
문을 사용할 때, break
를 사용하여 코드 블록을 종료시키지만, Golang에서는 break
구문을 생략할 수 있습니다.
다른 언어에서 break
문을 생략하면 다음 케이스 구문이 함께 실행됩니다. 하지만, Golang에서는 break
구문이 없으므로, 다음 케이스도 함께 실행하고 싶다면, 다음과 같이 fallthrought
를 사용해야 합니다.
package main
import "fmt"
func main() {
a := 2
switch a {
case 1:
fmt.Println("a == 1")
case 2:
fmt.Println("a == 2")
fallthrough
case 3:
fmt.Println("a == 3")
default:
fmt.Println("a is not 1, 2 or 3")
}
}
위의 코드를 실행하면 이전과는 다르게 다음과 같이, 다음 케이스 블록도 실행되는 것을 확인할 수 있습니다.
# go run main.go
a == 2
a == 3
여러값 검사
Golang에서는 다음과 같이 여러 값을 검사할 수 있습니다.
switch 비교값{
case 값1, 값2:
...
case 값3, 값4:
...
case 값5:
...
default:
...
}
Golang에서 여러 값을 검사하는 방법을 확인하기 위해 main.go
파일을 다음과 같이 수정합니다.
package main
import "fmt"
func main() {
a := 2
switch a {
case 1, 3, 5, 7, 9:
fmt.Println("Odd")
case 2, 4, 6, 8:
fmt.Println("Even")
default:
fmt.Println("Please insert 0 < value < 10.")
}
}
위에 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.
# go run main.go
Even
초기화문
switch
문도 if
문과 같이 초기화문을 사용할 수 있습니다.
switch 초기화문; 비교값{
case 값1, 값2:
...
case 값3, 값4:
...
case 값5:
...
default:
...
}
switch
문에서 초기화문을 사용하는 방법에 대해서 알아보기 위해 main.go
파일을 다음과 같이 수정합니다.
package main
import "fmt"
func main() {
switch a := 2; a {
case 1, 3, 5, 7, 9:
fmt.Println("Odd")
case 2, 4, 6, 8:
fmt.Println("Even")
default:
fmt.Println("Please insert 0 < value < 10.")
}
}
위에 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.
# go run main.go
Even
완료
이것으로 Golang에서 switch
문을 사용하는 방법을 확인해 보았습니다. Golang에서 switch
문은 다른 언어와 다르게 break
를 생략할 수 있으며, fallthrough
를 통해 다음 케이스를 함께 실행할 수 있습니다. 또한 if
문과 같이 초기화문을 사용할 수 있는 것을 확인하였습니다.
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
Deku
가 개발한 앱을 한번 사용해보세요.Deku
가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.