Go 의 if 사용 방법

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))
}

0115-276-go-if-img-01.jpg

알면 알수록 Go 는 간결한 문법을 사용하는것 같다.