Archive/Go

Go 의 if 사용 방법

nimkoes 2021. 5. 16. 14:30
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

'Archive > 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