🔥 조건문 없이 switch 사용하기

242자
3분

Go 언어에서는 Switch 문을 조건문 없이 사용할 수 있습니다. 이는 switch true와 동일한 의미를 가집니다.

조건문 없는 Switch 문은 긴 if-then-else 체인을 깔끔하게 작성하는 방법이 될 수 있어요. 다음은 조건문 없는 Switch 문을 사용하여 현재 시간에 따라 인사말을 출력하는 예제 코드입니다.

package main
 
import (
    "fmt"
    "time"
)
 
func main() {
    t := time.Now()  // 현재 시간을 가져옵니다.
    switch {
    case t.Hour() < 12:  // 현재 시간이 오전 12시 이전인 경우
        fmt.Println("Good morning!")
    case t.Hour() < 17:  // 현재 시간이 오후 5시 이전인 경우
        fmt.Println("Good afternoon.")
    default:  // 그 외의 경우
        fmt.Println("Good evening.")
    }
}
 
go

코드를 단계별로 자세히 살펴보겠습니다.

  1. time.Now() 함수를 호출하여 현재 시간을 가져와 t 변수에 저장합니다.
  2. switch 키워드 뒤에 조건문을 생략하여 Switch 문을 시작합니다. 이는 switch true와 동일한 의미를 가집니다.
  3. 첫 번째 case 문에서는 t.Hour() < 12를 체크합니다. 현재 시간의 시(hour) 값이 12보다 작으면 "Good morning!"을 출력합니다.
  4. 두 번째 case 문에서는 t.Hour() < 17를 체크합니다. 현재 시간의 시(hour) 값이 17보다 작으면 "Good afternoon."을 출력합니다.
  5. default 문은 위의 모든 조건에 해당하지 않는 경우 실행됩니다. 여기서는 "Good evening."을 출력합니다.

이렇게 조건문 없이 Switch 문을 사용하면 코드의 가독성을 높일 수 있답니다. 복잡한 조건 분기를 간결하게 표현할 수 있어서 코드의 흐름을 이해하기 쉬워집니다.

조건문 없는 Switch 문은 다양한 상황에서 유용하게 활용될 수 있어요. 예를 들어, 사용자의 입력에 따라 다른 동작을 수행하거나, 상태 머신(State Machine)을 구현할 때 효과적으로 사용할 수 있습니다.

이렇게 Go 언어에서는 Switch 문을 유연하게 사용할 수 있어서 코드의 가독성과 유지보수성을 높일 수 있습니다.