Menu
Coddy logo textTech

`switch` bez wyrażenia

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

W Go możemy użyć instrukcji switch bez wyrażenia po słowie kluczowym. Jest to przydatne, gdy chcemy w przejrzysty sposób sprawdzić wiele warunków.

Stwórzmy program, który kategoryzuje osobę na podstawie jej wieku:

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

Po wykonaniu tego kodu program sprawdzi kolejno każdy warunek w instrukcji case. Ponieważ nasz wiek wynosi 25, nie jest mniejszy niż 13 ani 20, ale jest mniejszy niż 30, więc pasuje trzeci przypadek. Tekst "Young Adult" pojawi się na ekranie:

Young Adult

Zauważ, że bez wyrażenia po switch każdy przypadek staje się warunkiem logicznym, który przyjmuje wartość true albo false. Zostanie wykonany blok kodu pierwszego przypadku, którego warunek przyjmuje wartość true.

Jeśli żaden z przypadków nie pasuje, wykona się przypadek default. W naszym przykładzie, jeśli wiek wynosiłby 35, wynikiem byłoby "Adult".

challenge icon

Wyzwanie

Łatwy

W tym wyzwaniu poćwiczysz używanie instrukcji switch bez wyrażenia. Ten typ instrukcji switch jest przydatny, gdy chcesz sprawdzić wiele warunków bez powtarzania instrukcji if-else.

Przygotowaliśmy zmienną timeOfDay, która reprezentuje bieżącą godzinę (w formacie 24-godzinnym). Twoim zadaniem jest uzupełnić instrukcję switch bez wyrażenia, aby wyświetlić odpowiednie powitanie w zależności od pory dnia.

Użyj tych zakresów i wyświetl dokładnie te komunikaty:

  • od 5 do 11: Good morning!
  • od 12 do 17: Good afternoon!
  • od 18 do 21: Good evening!
  • każda inna godzina: Hello! (przypadek default, już zapisany)

Dla timeOfDay = 14 program wyświetli Good afternoon!.

Spróbuj swoich sił

package main

import "fmt"

func main() {
	// To oznacza bieżącą godzinę w formacie 24-godzinnym (0-23)
	timeOfDay := 14 // To jest 2:00 PM
	
	// TODO: Uzupełnij instrukcję switch bez wyrażenia
	// aby wypisać odpowiednie powitanie w zależności od pory dnia
	switch {
	// Dodaj tutaj swoje przypadki
	
	
	
	default:
		fmt.Println("Hello!")
	}
}
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