[Go] Go 언어 조건문(if, switch) 정리
2021. 1. 15. 18:40ㆍProgramming Language/Go
반응형
■ Go 언어 조건문
if문과 switch문 많은 프로그래밍 언어에서 활발하게 사용되고 있는 조건문이다.
Go언어라고 해서 크게 다르지 않으니 가벼운 마음으로 확인해보길 바란다.
■ IF문
1. if 문
if문에는 단일 if문과 if..else문 if...else if...else문이 있다.
이번에는 두가지 조건으로 작업을 처리할 수 있는 if...else문을 통해서 정리를 하려고 한다.
단일 if문 또는 if...else if...else문도 if...else문을 충분히 이해한다면, 사용하는데 크게 어려움이
없을거라고 생각한다.
예시) 나이가 20세이상일 경우 '성인', 20세 미만일 경우 '미성년자' 를 출력하시오.
// 임의로 나이를 20세로 지정
age := 20
if age >= 20 {
fmt.Println("성인")
} else {
fmt.Println("미성년자")
}
/*
※ 출력 결과
성인
*/
2. if문에서만 사용할 변수를 선언하며, 사용하는 if문
위 if문과 크게 다른점은 없지만 if문에서만 사용할 변수를 다른 프로그래밍 언어들과는 달리
if문 선언부에서 변수를 선언하고 그 변수를 활용하여 조건처리가 가능하다.
예시) 나이를 계산하는 방식이 외국인과 한국인의 차이가 있음을 알고, 외국인 나이기준으로 나이를 주어줬을 경우 한국인 나이로 계산하여 20세이상일 경우 '성인', 20세 미만일 경우 '미성년자' 를 출력하시오.
// 외국인 나이 기준으로 19세로 지정
age := 19
// koreanAge 변수에는 '외국인 나이 + 1' 가 대입된다.
if koreanAge := age + 1; koreanAge >= 20 {
fmt.Println("성인")
} else {
fmt.Println("미성년자")
}
/*
※ 출력 결과
성인
*/
■ SWITCH 문
1. switch문
switch문은 다양한 조건으로 값을 비교할때 유용하게 사용된다.
다른 프로그래밍 언어의 case문은 break를 쓰지 않는경우 다음 case로 이동하지만, Go 언어는 다음 case로 가지 않는다.
예시) * 청소년 : 13~ 19세, 청년 : 20 ~ 29세, 중년 : 30 ~ 49세, 노년 : 50세 이상, 어린이 : 13세 미만
위에 조건에 따라 임의로 지정한 나이에 맞게 출력하시오.
* 나이에 따른 정의는 임의로 지정한 것이며, 사실과 다름을 알린다.
// 임의로 나이를 28세로 지정
age := 28
switch {
case age > 12 && age < 20:
fmt.Println("청소년")
case age > 19 && age < 30:
fmt.Println("청년")
case age > 29 && age < 50:
fmt.Println("중년")
case age > 49:
fmt.Println("노년")
default:
fmt.Println("어린이")
}
/*
※ 출력 결과
청년
*/
2. switch문에서만 사용할 변수를 선언하며, 사용하는 switch문
위 switch문과 크게 다른점은 없지만 switch문에서만 사용할 변수를 다른 프로그래밍 언어들과는 달리 switch문 선언부에서 변수를 선언하고 그 변수를 활용하여 조건처리가 가능하다.
예시) 나이를 계산하는 방식이 외국인과 한국인의 차이가 있음을 알고, 외국인 나이기준으로 나이를 주어줬을 경우 한국인 나이로 계산한다.
* 청소년 : 13~ 19세, 청년 : 20 ~ 29세, 중년 : 30 ~ 49세, 노년 : 50세 이상, 어린이 : 13세 미만
위에 조건에 따라 임의로 지정한 나이에 맞게 출력하시오.
* 나이에 따른 정의는 임의로 지정한 것이며, 사실과 다름을 알린다.
// 외국인 나이 기준으로 28세로 지정
age := 28
// koreanAge 변수에는 '외국인 나이 + 1' 가 대입된다.
switch koreanAge := age + 1; {
case koreanAge > 12 && koreanAge < 20:
fmt.Println("청소년")
case koreanAge > 19 && koreanAge < 30:
fmt.Println("청년")
case koreanAge > 29 && koreanAge < 50:
fmt.Println("중년")
case koreanAge > 49:
fmt.Println("노년")
default:
fmt.Println("어린이")
}
/*
※ 출력 결과
청년
*/
반응형
'Programming Language > Go' 카테고리의 다른 글
[Go] Go 언어 배열(array) & 슬라이스(slice) 정리 (0) | 2021.01.16 |
---|---|
[Go] Go 언어 포인터(Pointer) 정리 (0) | 2021.01.15 |
[GO] Go 언어 반복문(for) 정리 (0) | 2021.01.15 |
[Go] Go 언어 개발 환경 구축 (0) | 2021.01.13 |
[GO] GO 언어 기본 문법 알아보기 (0) | 2021.01.03 |