GoLang - 조건문 ( if ~ else, switch ~ case )

dev_swan·2022년 11월 16일
0

Golang

목록 보기
3/9
post-thumbnail

if ~ else

Go 언어의 조건문은 중괄호가 없습니다. 저처럼 Javascript를 하다가 Go를 배우시는 분들은 헷갈리실 수도 있습니다.

그 외에 사용법은 타언어와 같습니다. 조건에 맞으면 if, 안맞으면 else or else if를 사용합니다.

package main

import "fmt"

func main() {
	if true {
		fmt.Println("Hello, Go")
	} else if true {
		fmt.Println("Hello, Goooo?")
	} else {
		fmt.Println("Hello, Gooooooo?")
	}
}

변수와 함께 사용하기

조건문을 사용할 때, 변수와 함께 선언할 수 있습니다. 아래의 코드는 Blue Teamred TeamWinner를 출력하는 함수입니다.

주의 해야할 점은 조건문의 블록에서 변수를 선언하는 것이 아니라 조건문의 조건에서 변수를 선언한 것입니다.

조건문의 조건에서 변수를 선언할 때에는 세미콜론을 구분자로하여 변수 선언 부분과 조건을 비교할 부분을 나눕니다.

package main

import "fmt"

func main() {
	if redTeamScore,blueTeamScore := 2,3; redTeamScore > blueTeamScore {
		fmt.Println("Winner : Red Team ")
	} else if redTeamScore == blueTeamScore {
		fmt.Println("Winner : No One")
	} else {
		fmt.Println("Winner : Blue Team")
	}
}

Switch ~ Case

조건문과 마찬가지로 조건에 따라 행동하지만 Go언어의 switch~case 문법은 일부분 타 언어와 다릅니다.

우선 break문이 필요없습니다. 타 언어에서 break문을 사용하지 않음으로써 발생하는 버그가 많다는 가정하에 break가 필요하지 않게 설계했다고 합니다. 구글..

사용방법은 아래와 같습니다.

package main

import "fmt"

func main() {
  swanTestScore := 60

	switch swanTestScore {
	case 100:
		fmt.Println("Very Good")
	case 60:
		fmt.Println("Not Bad")
	case 20:
		fmt.Println("So Bad")
	default:
		fmt.Println("are you sure??")
	}
}

조건 없이 사용하기

조건을 사용하지 않고 switch~case문을 사용할 수 있습니다.

사용방법은 아래와 같습니다.

package main

import (
	"fmt"
	"time"
)

func main() {
	t := time.Now()

	switch {
	case t.Hour() < 12:
		fmt.Println("Good morning")
	case t.Hour() < 17:
		fmt.Println("Good afternoon")
	default:
		fmt.Println("Good evening")
	}
}

변수와 함께 사용하기

조건문처럼 switch~case에서도 조건문과 함께 변수를 선언할 수 있습니다.

package main

import "fmt"

func main() {
	switch swanTestScore := 100; swanTestScore {
	case 100:
		fmt.Println("Very Good")
	case 60:
		fmt.Println("Not Bad")
	case 20:
		fmt.Println("So Bad")
	default:
		fmt.Println("are you sure??")
	}
}

참고자료

Go 언어를 공부하기 위한 자료 및 문서 정리


Go 언어 공부 GoGo~~! 엌ㅋㅋㅋㅋㅋㅋㅋ

0개의 댓글