`fallthrough` 키워드
Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 42번째.
Go에서 fallthrough 키워드는 switch 문에서 일치하는 항목을 찾은 후에도 다음 케이스로 실행을 계속할 수 있게 해줍니다. 이것이 어떻게 작동하는지 알아봅시다.
먼저, fallthrough 키워드를 사용하여 숫자를 설명하는 간단한 switch 문을 만들어 보겠습니다:
num := 15
switch {
case num < 20:
fmt.Print("Less than 20 ")
fallthrough
case num > 10:
fmt.Print("Greater than 10 ")
fallthrough
case num > 0:
fmt.Print("Positive number")
}이 코드를 실행하면 화면에 세 가지 메시지가 모두 출력되는 것을 볼 수 있습니다:
Less than 20 Greater than 10 Positive number이것은 첫 번째 케이스가 일치하기 때문에 발생하며 (15는 20보다 작습니다), fallthrough 키워드가 Go로 하여금 두 번째 케이스도 실행하도록 강제합니다. 그 다음 두 번째 케이스도 fallthrough를 사용하므로, Go가 세 번째 케이스까지 실행하게 만듭니다. fallthrough가 없다면, 일치하는 첫 번째 케이스만 실행되었을 것입니다.
fallthrough는 해당 조건의 참 여부와 상관없이 다음 케이스를 실행한다는 점을 기억하세요. 우리의 예제에서는 숫자 15에 대해 모든 조건이 참이었지만, 다음 케이스는 조건이 거짓이더라도 실행되었을 것입니다.
챌린지
초급이 챌린지에서는 switch 문에서 fallthrough 키워드를 사용하는 연습을 합니다. fallthrough 키워드는 일치하는 케이스를 찾은 후에도 다음 케이스로 실행을 계속할 수 있게 해줍니다.
요일을 나타내는 변수가 있습니다. 여러분의 과제는 요일이 'Monday'일 때 프로그램이 'It's a weekday!'와 'Time to work!'를 모두 출력하도록 적절한 위치에 fallthrough 키워드를 추가하는 것입니다.
치트 시트
fallthrough 키워드는 switch 문에서 일치하는 케이스를 찾은 후에도 다음 케이스로 실행을 계속할 수 있게 합니다:
num := 15
switch {
case num < 20:
fmt.Print("Less than 20 ")
fallthrough
case num > 10:
fmt.Print("Greater than 10 ")
fallthrough
case num > 0:
fmt.Print("Positive number")
}출력 결과는 다음과 같습니다: Less than 20 Greater than 10 Positive number
fallthrough는 다음 케이스의 조건이 참인지 거짓인지에 관계없이 실행합니다.
직접 해보기
package main
import "fmt"
func main() {
// 요일을 나타내는 변수
day := "Monday"
// 요일을 확인하기 위한 switch 문
switch day {
case "Monday":
fmt.Println("It's a weekday!")
// TODO: 다음 case로 계속 진행하기 위해 여기에 fallthrough 키워드를 추가하세요
case "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("Time to work!")
case "Saturday", "Sunday":
fmt.Println("It's the weekend!")
default:
fmt.Println("Invalid day!")
}
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입6제어 흐름: 조건문
`if` 문`else` 키워드`else if` 키워드`if` 문에서의 변수 섀도잉변수 초기화`switch` 문표현식이 있는 Switch표현식이 없는 Switch`fallthrough` 키워드요약 - 의사 결정하기