Go by Example: [06] If / Else

If / Else

Go에서는 다른 언어와 같은 방법으로, if문과 else문으로 분기를 수행할 수 있습니다.
하지만, 다른언어와는 향상된 방법으로 사용할 수 있습니다. 예제를 통해서 알아보겠습니다.

package main

import "fmt"

func main() {
    
    if 7 % 2 == 0 {                              // [1]
        fmt.Println("7 is even")
    } else {
        fmt.Println("7 is odd")
    }
    
    if 8 % 4 == 0 {                              // [2]
        fmt.Println("8 is divisible by 4")
    }
    
    if num := 9; num < 0 {                       // [3]
        fmt.Println(num, "is negative")
    } else if num < 10 {
        fmt.Println(num, "has 1 digit")
    } else {
        fmt.Println(num, "has multiple digits")
    }
}
  1. 가장 기본적인 형식의 문장입니다.
  2. else문장 없이도 사용할 수 있습니다. (경우에 따라서…)
  3. if문장내에서 ;을 사용해서 조건값을 계산할 수 있습니다. 값을 계산한 후 비교합니다.
    또한, 변수를 선언할 수 도 있습니다.

Go언어에서는 if문의 조건에 괄호를 사용하지 않습니다. 하지만, 중괄호는 필수입니다.

실행하면 다음과 같습니다.

$ go run if-else.go 
7 is odd
8 is divisible by 4
9 has 1 digit

Go언어에는 3중대입연산자(?:)가 없지만, if/else문장으로도 충분히 표현할 수 있습니다.