조건에 따라 프로그램 명령 흐름을 분기하는 구문
if 조건문 {
문장
} else if 조건문 {
문장
} else {
문장
}
package main
import "fmt"
func main() {
x := 10
y := 5
// && (and) 연산자를 사용한 if 문
if x > 5 && y > 2 {
fmt.Println("x는 5보다 크고, y는 2보다 큽니다.")
}
// || (or) 연산자를 사용한 if 문
if x < 5 || y < 2 {
fmt.Println("x는 5보다 작거나, y는 2보다 작습니다.")
}
// ! (not) 연산자를 사용한 if 문
if !(x < 5) {
fmt.Println("x는 5보다 작지 않습니다.")
}
}
쇼트서킷에 의해 우변이 실행되지 않을 수 있음을 고려해야 한다.
- '&&' 연산은 좌변이 false이면 우변을 검사하지 않고 false 처리
- '||' 연산은 좌변이 true이면 우변은 검사하지 않고 true 처리