Go If with a Twist
in Programming Language on Go
If with a Twist
package main
import "fmt"
func canIDrink(age int) bool{
if age < 18{
return false
}
return true
}
func main() {
fmt.Println(canIDrink(16))
}
if문을 쓸 때 java처럼 괄호를 필요로 하지 않으며,
python에서 사용하는 : 기호 또한 필요하지 않는다.
아주 심플하게 작성할 수 있다.
여기까지는 그냥 음~ 그런가보다 하는데 더욱 놀라운 기능이 하나 더 있다.
package main
import "fmt"
func canIDrink(age int) bool{
if koreanAge := age +2; koreanAge < 18{
return false
}
return true
}
func main() {
fmt.Println(canIDrink(16))
}
그것은 바로 if문 안에 변수를 선언할 수 있다는 점이다.
물론 아래와 같이 선언하는 것과 기능은 같다.
package main
import "fmt"
func canIDrink(age int) bool{
koreanAge := age +2
if koreanAge < 18{
return false
}
return true
}
func main() {
fmt.Println(canIDrink(16))
}
그러나 go에서 이러한 기능을 제공하는 이유를 생각해보자.
만약 if 조건부에 변수 선언이 되어있다면 다른 사람이 코드를 볼때 “아 이 변수는 이 조건문에서만 쓰이는구나” 하고 알 수 있다는 사실이다.
이는 Go의 아주 세련된 문법이기도 하며 가독성을 중요하게 생각했다는 것을 알 수 있다.
Reference
Nomad Coder - 니꼴라스 선생님