728x90
Go 에서 if 문은 다음과 같이 작성할 수 있다.
package main
import "fmt"
func canIDrink(age int) bool {
if age < 18 {
return false
}
return true
}
func main() {
fmt.Println(canIDrink(16))
}
소괄호 없이 그냥 조건을 쓴다는 부분을 빼고는 다른 언어들과 별로 다를게 없어 보인다.
하지만 Go 의 if 는 재밌는 문법이 하나 더 있다.
if 블럭 안에 변수를 선언해서 사용할 수 있다.
func canIDrinkVer2(age int) bool {
if koreanAge := age + 2; koreanAge < 18 {
return false
}
return true
}
이렇게 쓰면 뭐가 좋을까?
사실 if 블록 안에서 사용한 'koreanAge' 변수를 밖으로 빼서 사용해도 문제 없다.
하지만 저렇게 작성하면 누가 보더라도 'koreanAge 는 이 if 문에서 사용하기 위함이구나' 라고 바로 알 수 있다.
package main
import "fmt"
func canIDrink(age int) bool {
if age < 18 {
return false
}
return true
}
func canIDrinkVer2(age int) bool {
if koreanAge := age + 1; koreanAge < 18 {
return false
}
return true
}
func main() {
fmt.Println(canIDrink(16))
fmt.Println(canIDrinkVer2(16))
}
알면 알수록 Go 는 간결한 문법을 사용하는것 같다.
728x90
'프로그래밍 언어 > Go' 카테고리의 다른 글
Go 의 포인터 (0) | 2021.05.17 |
---|---|
Go 의 switch 사용 방법 (0) | 2021.05.16 |
Go 의 for, range, ...args (0) | 2021.05.16 |
Go 의 함수 part 2 (naked return, defer) (0) | 2021.05.16 |
Go 의 함수 part 1 (기본 사용법) (0) | 2021.05.16 |