Menu
Coddy logo textTech

`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

이것은 첫 번째 케이스가 일치하기 때문에 발생하며 (1520보다 작습니다), fallthrough 키워드가 Go로 하여금 두 번째 케이스도 실행하도록 강제합니다. 그 다음 두 번째 케이스도 fallthrough를 사용하므로, Go가 세 번째 케이스까지 실행하게 만듭니다. fallthrough가 없다면, 일치하는 첫 번째 케이스만 실행되었을 것입니다.

fallthrough는 해당 조건의 참 여부와 상관없이 다음 케이스를 실행한다는 점을 기억하세요. 우리의 예제에서는 숫자 15에 대해 모든 조건이 참이었지만, 다음 케이스는 조건이 거짓이더라도 실행되었을 것입니다.

challenge icon

챌린지

초급

이 챌린지에서는 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!")
	}
}
quiz icon실력 점검

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

기초의 모든 레슨