프로그래밍 언어/Go
Go - 조건문 if / switch
Flashback
2022. 3. 11. 11:52
728x90
반응형
1. If
Go에서 if 조건문을 사용할 때는 조건을 나타내는 구문에 괄호를 사용하지 않는다.
import "fmt"
func main() {
water := 10 // var water int = 10
if water > 10 {
fmt.Println("10보다 큽니다")
} else if water < 10 {
fmt.Println("10보다 작습니다")
} else {
fmt.Println("10입니다")
}
}
다른 언어들과 동일하게 조건을 구분할 때, if - else if - else 를 사용하여 조건에 따라 실행되는 부분이 달라지게 된다.
2. Switch / Case
import "fmt"
func main() {
var fruit string = "포도" // juice := "주스"
switch fruit {
case "사과":
fmt.Println("사과입니다")
case "오렌지":
fmt.Println("오렌지입니다")
case "포도":
fmt.Println("포도입니다")
default:
fmt.Println("?!")
}
}
if문을 대신하여 switch / case 를 사용하여 조건에 따라 실행되는 부분이 달라지게 할 수 있다.
switch 문 뒤에 변수 또는 표현식으로 넣어 case 부분에서 해당 변수가 가질 수 있는 값들을 지정한 후, case 부분에서 분기처리를 할 수 있다.
3. Switch / Case - fallthrough
Go의 Switch / Case 에서는 기본적으로 매 Case마다 break문이 생략된다. Go 컴파일러가 자동으로 매 Case부분에 break를 넣어주기때문에 굳이 break를 쓸 필요가 없게 된 것이다.
하지만 case 조건을 연속으로 사용하여야 할 경우에는 fallthrough를 넣어주면 된다.
func main() {
var num int = 10 // num := 10
switch num {
case num > 9 :
fmt.Println("9보다 큽니다")
fallthrough
case num > 8 :
fmt.Println("8보다 큽니다")
fallthrough
...
default:
fmtPrintln("?!")
}
}
숫자를 비교하는 switch 문인데 fallthrough를 통해 Case조건이 만족한 후에도 그 뒤에 나오는 Case 부분이 실행된다.
4. Switch / Case - 조건변수 / 표현식의 생략
또한, Go의 Switch문에서는 switch 뒤에 나오는 변수 또는 표현식을 생략할 수 있다.
func main() {
var num int = 10 // num := 10
switch {
case num > 9 :
fmt.Println("9보다 큽니다")
fallthrough
case num > 8 :
fmt.Println("8보다 큽니다")
fallthrough
...
default:
fmtPrintln("?!")
}
}
switch 뒷 부분에 바로 중괄호가 나오고 다음 줄에 case문이 나오도록 할 수 있다.
728x90
반응형