Menu
Coddy logo textTech

Słowo kluczowe `fallthrough`

Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 42 z 109.

W Go słowo kluczowe fallthrough pozwala kontynuować wykonywanie instrukcji w kolejnym przypadku instrukcji switch, nawet po znalezieniu dopasowania. Sprawdźmy, jak to działa.

Najpierw utwórzmy prostą instrukcję switch, która używa słowa kluczowego fallthrough do opisania liczby:

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")
}

Po wykonaniu tego kodu zobaczymy na ekranie wszystkie trzy komunikaty:

Less than 20 Greater than 10 Positive number

Dzieje się tak, ponieważ pierwszy przypadek pasuje (15 jest mniejsze niż 20), a słowo kluczowe fallthrough zmusza Go do wykonania również drugiego przypadku. Następnie drugi przypadek również używa fallthrough, co sprawia, że Go wykonuje także trzeci przypadek. Bez fallthrough wykonałby się tylko pierwszy pasujący przypadek.

Pamiętaj, że fallthrough wykona następny przypadek niezależnie od tego, czy jego warunek jest prawdziwy, czy nie. W naszym przykładzie wszystkie warunki są spełnione dla liczby 15, ale następny przypadek wykonałby się nawet wtedy, gdyby jego warunek był fałszywy.

challenge icon

Wyzwanie

Początkujący

W tym wyzwaniu poćwiczysz używanie słowa kluczowego fallthrough w instrukcji switch. Słowo kluczowe fallthrough pozwala kontynuować wykonywanie programu w następnym przypadku, nawet gdy dopasowanie zostało już znalezione.

Masz zmienną reprezentującą dzień tygodnia. Twoim zadaniem jest dodać słowo kluczowe fallthrough w odpowiednim miejscu, aby program wypisał zarówno 'It's a weekday!', jak i 'Time to work!', gdy dniem jest 'Monday'.

Spróbuj swoich sił

package main

import "fmt"

func main() {
	// Zmienna reprezentująca dzień tygodnia
	day := "Monday"
	
	// Instrukcja switch sprawdzająca dzień
	switch day {
	case "Monday":
		fmt.Println("It's a weekday!")
		// TODO: Dodaj tutaj słowo kluczowe fallthrough, aby przejść do następnego przypadku
	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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Go online