🔥 조건문 없이 switch 사용하기

242자
3분

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

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

go
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
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.")
    }
}
 

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

  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 문을 유연하게 사용할 수 있어서 코드의 가독성과 유지보수성을 높일 수 있습니다.

YouTube 영상

채널 보기
AI에서 선형대수학이 중요한 이유
AI는 왜 수백 차원의 벡터를 사용할까? 고차원 공간과 행렬 | 선형대수학
3편, B-Tree 탐색 프로세스: 수백 개의 갈림길에서 데이터를 찾는 법
2편, B-Tree 자료구조의 구조와 속성
BTree 노드의 구조는?
5편, B-Tree 내부 노드에서 키를 삭제할 때 정렬 규칙을 지키는 방법
AI를 위한 선형대수, 데이터는 점구름이다
AI는 데이터를 어떻게 분류할까? 벡터의 거리와 KNN 알고리즘 | 선형대수학