if문은 조건에 따라 분기한 구문
if 조건문 {
문장
} else if 조건문 {
문장
} else {
문장
}
else if, else는 생략이 가능하다.
package main
import "fmt"
func main() {
light := "red"
if light == "green" { // 불이 초록색이면
fmt.Println("길을 건넌다")
} else { // 불이 초록색이 아니면
fmt.Println("대기한다")
}
}
대기한다
package main
import "fmt"
func main() {
temp := 33
if temp > 28 { // 온도가 28도를 초과하면
fmt.Println("에어컨을 켠다")
} else if temp <= 3 { // 온도가 3도이하라면
fmt.Println("히터를 켠다")
} else {
fmt.Println("대기한다")
}
}
에어컨을 켠다
&&, ||는 논리연산자 두개의 불리언 값에서 이용할 수 있다.
package main
import "fmt"
func main() {
var age = 22
if age >= 10 && age <= 15 { // 10살이상 15살이하
fmt.Println("Young man")
} else if age > 30 || age < 20 { // 30살을 넘거나 20살보다 작음 = 20대가 아님
fmt.Println("not 20's")
} else {
fmt.Println("Best age of your life")
}
}
Best age of your life
age의 범위에 따라 다른 값을 출력한다.
&& 연산은 좌변이 false라면 우변이 뭐던간에 그냥 false이기 때문에 우변은 검사하지 않음
마찬가지로 || 연산도 좌변이 true면 우변이 뭐던간 그냥 true이기 대문에 우변을 검사하지 않음
조건문의 우변이 실행되지 않을 수도 있다는 걸 염두하고 코드를 작성해야 함
if문은 검사하기 전에 초기문을 넣을 수 있다. 초기문은 보통 사용할 변수를 초기화 하는데 많이 쓰인다
package main
import "fmt"
func main() {
if a := 2; a < 3 {
fmt.Println("true")
} else{
fmt.Println("false")
}
}