if문

다 먼지같은 일입니다·2021년 9월 28일
0

Golang

목록 보기
1/1

기본 문법

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 초기문; 조건문

if문은 검사하기 전에 초기문을 넣을 수 있다. 초기문은 보통 사용할 변수를 초기화 하는데 많이 쓰인다

package main

import "fmt"

func main() {
    if a := 2; a < 3 {
        fmt.Println("true")
    } else{
        fmt.Println("false")
    }
}

0개의 댓글