Menu
Coddy logo textTech

표현식이 없는 Switch

Coddy GO 여정의 기초 섹션에 포함된 레슨. 109개 중 41번째.

Go에서는 키워드 뒤에 expression이 없는 switch statement를 사용할 수 있습니다. 이는 여러 조건을 깔끔하게 평가하고 싶을 때 유용합니다.

나이를 기준으로 사람을 분류하는 프로그램을 만들어 보겠습니다:

age := 25
    
switch {
case age < 13:
    fmt.Println("Child")
case age < 20:
    fmt.Println("Teenager")
case age < 30:
    fmt.Println("Young Adult")
default:
    fmt.Println("Adult")
}

이 코드를 실행하면 프로그램은 각 case 조건을 순서대로 확인합니다. age가 25이므로 13보다 작지도 않고 20보다 작지도 않지만 30보다 작으므로 세 번째 case가 일치합니다. 화면에 "Young Adult" 텍스트가 표시됩니다:

Young Adult

switch 뒤에 expression이 없으면 각 case가 true 또는 false로 평가되는 불리언 조건이 된다는 점에 유의하세요. true로 평가되는 첫 번째 case가 해당 코드 블록을 실행합니다.

어떤 cases도 일치하지 않으면 default case가 실행됩니다. 이 예시에서 age가 35라면 출력은 "Adult"가 됩니다.

challenge icon

챌린지

쉬움

이 도전 과제에서는 표현식이 withoutswitch 문을 사용하는 연습을 합니다. 이러한 유형의 switch는 if-else 문을 반복하지 않고 여러 조건을 평가하려 할 때 유용합니다.

현재 current hour(24시간 형식)를 나타내는 timeOfDay 변수가 제공되어 있습니다. 여러분의 과제는 표현식이 없는 switch 문을 완성하여 time of day에 based한 appropriate greeting을 출력하는 것입니다.

다음 범위를 사용하고 정확히 다음 메시지를 출력하세요:

  • 5~11: Good morning!
  • 12~17: Good afternoon!
  • 18~21: Good evening!
  • 그 외 모든 hour: Hello! (이미 작성된 default case)

timeOfDay = 14이면 프로그램은 Good afternoon!을 출력합니다.

직접 해보기

package main

import "fmt"

func main() {
	// 이것은 24시간 형식(0-23)의 현재 시를 나타냅니다
	timeOfDay := 14 // 이것은 오후 2:00입니다
	
	// TODO: 표현식 없이 switch 문을 완성하세요
	// 시간에 따라 적절한 인사말을 출력하기 위해
	switch {
	// 여기에 케이스를 추가하세요
	
	
	
	default:
		fmt.Println("Hello!")
	}
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 Go 컴파일러