반응형


Go Lang의 switch문은 여러 분기에 걸친 조건문들을 표현합니다.


switch문을 사용하면 일일이 if를 통해 나열하는 것보다 훨씬 간편하게 조건문을 만들 수 있습니다.

switch문은 switch와 case를 통해 순차적으로 조건을 판단합니다.

switch문은 정수형뿐만 아니라 문자열 형태도 사용이 가능합니다.


package main

import "fmt"

func main() { 
	a := 3 
	fmt.Print("a 값 : ") 
	switch a { 
	case 1: 
		fmt.Println("1 입니다") 
	case 2: 
		fmt.Println("2 입니다") 
	case 3: 
		fmt.Println("3 입니다") 
	} 
}

 

출력결과값
a 값 : 3 입니다​

위의 예제는 a를 3으로 선언한 후, switch문과 case를 통해 a값이 1, 2, 3의 각각 case에 해당하는지 순서대로 체크합니다.
결과적으로 해당 switch문은 true값에 해당하는 case 3의 함수를 출력하게 됩니다.

 

switch문은 if문에서 마지막 else와 같이 해당 조건문을 빠져나오는 방법으로 default를 사용합니다.

switch문 분기의 마지막에, 이전 모든 case에 해당하지 않을 경우 default 함수를 실행합니다.

 

위의 예제처럼 모든 조건문을 나타내기 위해 일일이 case를 나누지 않고 동일한 case의 경우 ','를 통해 구분하여 사용할 수 있습니다.

 


switch문을 통해 세 가지 경우를 한 번에 확인할 수 있는 예제 또한 쉽게 만들어 볼 수 있습니다.

package main

import "fmt"

func main() {
	a := 3
	b := 5
	c := 6

	fmt.Print("a 값 : ")
	switch a {
	case 1:
		fmt.Println("1 입니다")
	case 2:
		fmt.Println("2 입니다")
	case 3:
		fmt.Println("3 입니다")
	}

	fmt.Print("b 값 : ")
	switch b {
	case 1:
		fmt.Println("1 입니다")
	case 2:
		fmt.Println("2 입니다")
	case 3, 4, 5:
		fmt.Println("3 또는 4 또는 5입니다")
	}

	fmt.Print("c 값 : ")
	switch c {
	case 1:
		fmt.Println("1 입니다")
	case 2:
		fmt.Println("2 입니다")
	case 3, 4, 5:
		fmt.Println("3 또는 4 또는 5입니다")
	default:
		fmt.Println("6 이상입니다")
	}
}

 

출력결과값
a 값 : 3 입니다
b 값 : 3 또는 4 또는 5입니다
c 값 : 6 이상입니다​
반응형

'IT > Develop' 카테고리의 다른 글

Go Lang 기초 7 - 함수 func  (0) 2021.07.28
Go Lang 기초 6 - 반복문 For  (0) 2021.07.28
Go Lang 기초 4 - 조건문 if  (0) 2021.07.28
Go Lang 기초 3 - 연산자  (0) 2021.07.28
Go Lang 기초 2 - 변수(Variable)  (1) 2021.07.20

+ Recent posts