Updated:

less than 1 minute read

개요

  • 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