Go 에서 if 문은 다음과 같이 작성할 수 있다.
Go
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 블럭 안에 변수를 선언해서 사용할 수 있다.
Go
func canIDrinkVer2(age int) bool {
if koreanAge := age + 2; koreanAge < 18 {
return false
}
return true
}
이렇게 쓰면 뭐가 좋을까?
사실 if 블록 안에서 사용한 'koreanAge' 변수를 밖으로 빼서 사용해도 문제 없다.
하지만 저렇게 작성하면 누가 보더라도 'koreanAge 는 이 if 문에서 사용하기 위함이구나' 라고 바로 알 수 있다.
Go
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 는 간결한 문법을 사용하는것 같다.