개요
- if with initializer
- if문 안에서 초기화 가능
- if문 안에서만 유효
- error 반환 함수와 같이 if문 안에서만 사용하는 변수에 대해 사용
- 선언 여부를 신경 쓸 필요가 없어짐
예제
- 코드
package main
import "errors"
func main() {
i := 0
if i == 0 {
println("i == 0")
} else if i == 1 {
println("i == 1")
} else {
println("else")
}
println("------")
i = 0
switch i {
case 0:
println("i == 0")
case i:
println("i == 1")
default:
println("default")
}
println("------")
job := func() error {
return errors.New("fail")
}
if err := job(); err != nil {
println(err.Error())
}
if err := job(); err != nil {
println(err.Error())
}
}
- 실행 결과
i == 0
------
i == 0
------
fail
fail