Menu
Coddy logo textTech

Switch без выражений

Часть раздела Основы путешествия по GO на Coddy. Урок 41 из 109.

В Go мы можем использовать switch statement without an expression после ключевого слова. Это полезно, когда мы хотим аккуратно проверить несколько условий.

Создадим программу, которая классифицирует человека на основе его возраста:

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

После выполнения этого кода программа проверит каждое условие case по порядку. Поскольку наше age равно 25, оно не меньше 13 или 20, но меньше 30, поэтому подходит третий case. Текст "Young Adult" появится на экране:

Young Adult

Обратите внимание, что без expression после switch каждый case становится логическим условием, результатом которого будет true или false. Первый case, результатом которого будет true, выполнит свой блок кода.

Если ни один из вариантов не совпадёт, выполнится вариант default. В нашем примере, если бы age было равно 35, результатом было бы «Adult».

challenge icon

Задание

Легко

В этом задании вы попрактикуетесь в использовании оператора switch without выражения. Такой тип switch полезен, когда нужно проверить несколько условий, не повторяя операторы if-else.

Мы предоставили переменную timeOfDay, которая представляет current hour (в 24-часовом формате). Ваша задача — дополнить оператор switch without expression, чтобы вывести appropriate приветствие based на времени суток.

Используйте эти диапазоны и выведите print ровно такие сообщения:

  • 5–11: Good morning!
  • 12–17: Good afternoon!
  • 18–21: Good evening!
  • любой другой hour: Hello! (случай default, уже написанный)

При timeOfDay = 14 программа выводит Good afternoon!.

Попробуйте сами

package main

import "fmt"

func main() {
	// Это представляет текущий час в 24-часовом формате (0-23)
	timeOfDay := 14 // Это 2:00 PM
	
	// TODO: Завершите оператор switch без выражения
	// чтобы вывести соответствующее приветствие в зависимости от времени суток
	switch {
	// Добавьте свои cases здесь
	
	
	
	default:
		fmt.Println("Hello!")
	}
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Go