🔥 조건문 없이 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 영상

채널 보기
우리가 매일 쓰는 맞춤법 검사기와 라우터 속에 숨겨진 알고리즘은? | Trie 자료구조 이야기
마지막편, 트라이 노드를 50% 이상 줄이는 방법? 압축 트라이 성능 분석 | Trie 자료구조 이야기
트라이(Trie) 자료구조: 파이썬으로 삽입(Insert) 연산 구현하기 | Trie 자료구조 이야기
스칼라 곱셈과 내적의 기하학적 의미 | 선형대수학
마지막편, 10억 개 데이터 검색이 0.3ms면 끝나는 이유와 LSM-Tree의 등장
13편, 인덱스가 많으면 왜 느려질까? 쓰기 증폭과 인덱스 튜닝의 이해
트라이(Trie)에서 단어를 삭제하는 방법 | Trie 자료구조 이야기
트라이(Trie)를 이용한 자동 완성 알고리즘 | Trie 자료구조 이야기