[Go] Go 언어 조건문(if, switch) 정리

2021. 1. 15. 18:40Programming 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("어린이")    
}

/*
※ 출력 결과
청년
*/

반응형