표현식이 있는 Switch
Coddy GO 여정의 기초 섹션에 포함된 레슨. 109개 중 40번째.
Go의 switch 표현식에 대해 알아봅시다. switch 문에서 값을 직접 평가할 수 있게 해 줍니다.
먼저 표현식과 함께 switch statement를 사용하여 숫자가 positive, negative 또는 zero인지 확인하는 방법을 살펴보겠습니다:
num := -5
switch {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}이 코드를 실행하면 프로그램 화면에 다음이 표시됩니다:
Negative numberswitch { 뒤에 값이 없는 형태를 사용하고 있다는 점에 주목하세요. 이는 Go가 각 case 표현식을 불리언 조건으로 평가한다는 의미입니다. num이 -5이므로 두 번째 case num < 0은 true로 평가되고, 따라서 "Negative number"가 출력됩니다.
switch 문에서 바로 변수를 초기화할 수도 있습니다. 어떻게 작동하는지 살펴보겠습니다.
switch num := -5; {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}이 코드를 실행하면 동일한 결과를 얻습니다.
Negative number이 예제에서는 switch 문에서 num을 직접 선언하고 초기화했습니다. 세미콜론은 초기화와 switch 식(여기서는 비어 있음)을 구분합니다. 이렇게 하면 동일한 기능을 유지하면서 코드를 더 간결하게 만들 수 있습니다.
챌린지
초급switch 표현식을 사용하는 연습을 합니다. switch 문을 사용하여 요일 이름을 기반으로 해당 요일의 설명을 결정하도록 코드를 완성해야 합니다.변수
dayName은 이미 "Wednesday" 값으로 정의되어 있습니다. 여러분의 과제는 switch 표현식을 사용하여 description 변수를 다음과 같이 설정하는 것입니다:- 월요일에는
"Start of the week"- 수요일에는
"Midweek"- 금요일에는
"Almost weekend"- 토요일 또는 일요일에는
"Weekend"- 그 외의 요일에는
"Regular day"직접 해보기
package main
import "fmt"
func main() {
// 요일 이름은 이미 정의되어 있습니다
dayName := "Wednesday"
// 설명을 저장할 변수
var description string
// TODO: dayName에 따라 description을 설정하는 switch 문을 작성하세요
// Monday의 경우: "Start of the week"
// Wednesday의 경우: "Midweek"
// Friday의 경우: "Almost weekend"
// Saturday 또는 Sunday의 경우: "Weekend"
// 다른 모든 요일의 경우: "Regular day"
// 결과를 출력합니다
fmt.Printf("%s is %s\n", dayName, description)
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입직접 연습해 보세요: 온라인 Go 컴파일러