[Go/Golang] Go언어 조건문 (if/else)

2022. 6. 9. 20:0003. Resources/Go

728x90
반응형

이제 조건문이다

조건문에는  if/else랑 switch가 있다

https://gobyexample.com/if-else

 

Go by Example: If/Else

Branching with if and else in Go is straight-forward. package main import "fmt" func main() { Here’s a basic example. if 7%2 == 0 { fmt.Println("7 is even") } else { fmt.Println("7 is odd") } You can have an if statement without an else. if 8%4 == 0 { fm

gobyexample.com

 

먼저 if/else 부터보면

package main

import "fmt"

func main() {
	if 7%2 == 0 {
		fmt.Println("7 is even")
	} else {
		fmt.Println("7 is odd")
	}

	if 8%4 == 0 {
		fmt.Println("8 is divisible by 4")
	}

	if num := 9; num < 0 {
		fmt.Println(num, "is negative")
	} else if num < 10 {
		fmt.Println(num, "has 1 digit")
	} else {
		fmt.Println(num, "has multiple digits")
	}
}

이렇게 코드가 예제 코드가 작성되어있다.

go가 c언어랑 비슷하게 생겼다는걸 여기서도 볼 수 있다. 아 물론 이런 방식의 if else를 쓰는 곳이 많긴 하지만!

무튼 여기서도 재밌는건 저번에 go 변수 선언 특이한점 에서 언급했던 파이썬의  조건문에서 := 기호를 사용하는 방식을 여기서도 볼 수 있었다는 점이다!

	if num := 9; num < 0 {
		fmt.Println(num, "is negative")
	} else if num < 10 {
		fmt.Println(num, "has 1 digit")
	} else {
		fmt.Println(num, "has multiple digits")
	}

위 코드를 실행시키면 아래 출력을 얻을 수 있다.

9 has 1 digit

:= 기호는  if 구문을 시작할 때 뿐 아니라 중간에 else if에도 동일한 방식으로 추가해서 넣을 수 있다.

	if num := 9; num < 0 {
		fmt.Println(num, "is negative")
	} else if a:= 10; num < 10 && a != 10 {
		fmt.Println(num, "has 1 digit")
	} else {
		fmt.Println(num, "has multiple digits")
	}

이 코드를 실행시키면 아래 출력이 나온다.

9 has multiple digits

그런데 이런식으로 중간에 넣는건 좋은 방법인지 잘 모르겠다.

조건문의 흐름을 방해하는 것 같기 때문이다.

반응형