🔥 초기화문을 가진 if 문
222자
3분
Go 언어에서 if
문은 for
문과 마찬가지로 조건문 앞에 초기문(short statement)을 사용할 수 있습니다. 이 초기문은 if
문의 조건을 평가하기 전에 실행되는데요. 초기문에서 선언된 변수는 if
문의 끝까지만 유효합니다.
아래 예제 코드를 통해 if
문에서 초기문을 사용하는 방법을 알아볼까요?
package main import ( "fmt" "math" ) func pow(x, n, lim float64) float64 { // if문의 초기문에서 v 변수를 선언하고 math.Pow(x, n)의 결과를 할당합니다. if v := math.Pow(x, n); v < lim { // 초기문에서 선언한 v 변수를 사용하여 조건을 평가합니다. // 조건이 참이면 v를 반환합니다. return v } // 조건이 거짓이면 lim을 반환합니다. return lim } func main() { // pow 함수를 호출하고 결과를 출력합니다. fmt.Println( pow(3, 2, 10), // 3^2 < 10 이므로 9를 반환합니다. pow(3, 3, 20), // 3^3 < 20 이므로 27을 반환합니다. ) }
go
위 코드에서 pow
함수는 if
문의 초기문을 사용하고 있습니다. 초기문 v := math.Pow(x, n)
은 if
문의 조건을 평가하기 전에 실행되며, v
변수를 선언하고 math.Pow(x, n)
의 결과를 할당합니다.
그 다음 v < lim
조건을 평가하는데요. 조건이 참이면 v
를 반환하고, 거짓이면 lim
을 반환합니다. 초기문에서 선언한 v
변수는 if
문의 끝까지만 유효하므로, if
문 밖에서는 사용할 수 없습니다.
main
함수에서는 pow
함수를 호출하고 결과를 출력합니다. pow(3, 2, 10)
은 3^2 < 10 이므로 9를 반환하고, pow(3, 3, 20)
은 3^3 < 20 이므로 27을 반환하겠죠?
이렇게 if
문의 초기문을 사용하면 코드를 간결하게 작성할 수 있습니다. 하지만 초기문에서 선언한 변수의 유효 범위가 if
문으로 제한됨을 기억해야 합니다.