표현식이 없는 Switch
Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 41번째.
Go에서, 키워드 뒤에 표현식이 없는 switch 문을 사용할 수 있습니다. 이는 여러 조건을 깔끔한 방식으로 평가하고 싶을 때 유용합니다.
나이에 따라 사람을 분류하는 프로그램을 만들어 보겠습니다:
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 조건을 순서대로 확인합니다. 나이가 25세이므로 13세나 20세보다 작지 않지만 30세보다는 작기 때문에 세 번째 case가 일치합니다. 화면에 "Young Adult"라는 텍스트가 표시됩니다:
Young Adultswitch 뒤에 표현식이 없으면 각 case는 true 또는 false로 평가되는 불리언 조건이 된다는 점에 유의하세요. true로 평가되는 첫 번째 case가 해당 코드 블록을 실행합니다.
만약 일치하는 케이스가 하나도 없다면, default 케이스가 실행됩니다. 우리의 예제에서, 만약 age가 35라면, 출력은 "Adult"가 될 것입니다.
챌린지
쉬움이 챌린지에서는 표현식이 없는 switch 문을 사용하는 연습을 합니다. 이러한 유형의 switch는 if-else 문을 반복하지 않고 여러 조건을 평가하고 싶을 때 유용합니다.
현재 시간(24시간 형식)을 나타내는 timeOfDay 변수를 제공했습니다. 여러분의 과제는 표현식이 없는 switch 문을 완성하여 시간에 따른 적절한 인사말을 출력하는 것입니다.
치트 시트
표현식이 없는 switch 문을 사용하면 여러 조건을 깔끔하게 평가할 수 있습니다:
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는 true 또는 false로 평가되는 불리언(boolean) 조건이 됩니다. true로 평가되는 첫 번째 case의 코드 블록이 실행됩니다. 일치하는 case가 없으면 default 케이스가 실행됩니다.
직접 해보기
package main
import "fmt"
func main() {
// 이것은 24시간 형식(0-23)의 현재 시간을 나타냅니다.
timeOfDay := 14 // 이것은 오후 2시입니다.
// TODO: 표현식이 없는 switch 문을 완성하여
// 시간에 따른 적절한 인사말을 출력하세요.
switch {
// 여기에 케이스를 추가하세요
default:
fmt.Println("Hello!")
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입