🔥 초기화문을 가진 if 문
222자
3분
Go 언어에서 if문은 for문과 마찬가지로 조건문 앞에 초기문(short statement)을 사용할 수 있습니다. 이 초기문은 if문의 조건을 평가하기 전에 실행되는데요. 초기문에서 선언된 변수는 if문의 끝까지만 유효합니다.
아래 예제 코드를 통해 if문에서 초기문을 사용하는 방법을 알아볼까요?
go
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
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을 반환합니다.
)
}
위 코드에서 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문으로 제한됨을 기억해야 합니다.











