Let's Golang - 3

donchanee·2021년 1월 26일
0

Let's Golang

목록 보기
3/6
post-thumbnail

Go의 조건문엔 if문과 switch문이 있습니다.

if

if문은 우리가 흔히 아는 if문입니다.

go에서는 반드시 조건이 시작하는 첫 중괄호를 if와 같은 라인에 입력해야합니다. 또한 닫는 중괄호와도 같은 라인에 있어야 합니다.

아니면 오류가 발생합니다. 이는 코드의 통일성, 정형화를 위함이라고 생각합니다. 아래 예시를 보면서 설명하려고 합니다.

if something == 1 {  // 같은 라인에 꼭 위치시키길 바란다.
    println("True")
}

if 1 {	// 불가능하다. go의 조건문에는 꼭 bool 타입이 와야한다.
    println("True")
}


if something == 1 {
    println("One")
} else if something == 2 {  
// } 뒤에 else if 가 존재해야 하고 { 가 else if와 같은 라인에 있어야 한다.
    println("Two")
    
//////////////////////////////////////
// 맞는 예시    
} else {   // 마찬가지로 같은 라인
    println("Wrong")
}

// 틀린 예시
} 
else {   // 이런 경우에는 오류가 발생한다.
    println("Wrong")
}
///////////////////////////////////////

또한, golang이 가지고 있는 기능으로
조건을 체크하기 전에 변수를 생성할 수 있습니다.

package main

import "fmt"

func canIDrink(age int) bool {
	if koreanAge := age + 2; koreanAge < 18 {
		return false
	}
	return true
}

func main() {
	fmt.Println(canIDrink(16))
}

Switch

package main

import "fmt"

func canIDrink(age int) bool {
	switch age {
	case 10:
		return false
	case 18:
		return true
	case 50:
		return false
	}
	return false
}

func main() {
	fmt.Println(canIDrink(16))
}

스위치문을 이렇게 사용할 수 있지만, 이렇게 사용하면 다양한 경우를 포용하지 못합니다. 그럴경우 아래와 같이 사용할 수 있습니다.

func canIDrink(age int) bool {
	switch {
	case age < 18:
		return false
	case age == 18:
		return true
	case age > 50:
		return false
	}
	return false
}

위와 같은 식으로도 사용할 수 있습니다.

0개의 댓글