Menu
CoddyTech

Switch с выражениями

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

Давайте узнаем, как использовать выражения в операторах switch в Go, которые позволяют проверять условия непосредственно в каждом case.

Сначала посмотрим, как использовать оператор switch с условием в каждом case, чтобы проверить, является ли число положительным, отрицательным или нулём:

num := -5
switch {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

После выполнения этого кода программа выведет на экран:

Negative number

Обрати внимание, что мы используем switch { без значения после него. Это означает, что Go будет вычислять каждое выражение case как логическое условие. Поскольку num равно -5, второе условие num < 0 истинно, поэтому выводится "Negative number".

Мы также можем инициализировать переменную прямо в операторе switch. Посмотрим, как это работает:

switch num := -5; {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

После выполнения этого кода мы получим тот же результат:

Negative number

В этом примере мы объявили и инициализировали num непосредственно в операторе switch. Точка с запятой отделяет инициализацию от выражения switch (которое здесь пустое). Это делает наш код более компактным, сохраняя при этом ту же функциональность.

challenge icon

Задание

Новичок
В этом задании ты попрактикуешься в использовании простого выражения switch в Go. Тебе нужно завершить код, чтобы определить описание дня по его названию с помощью оператора switch.

Переменная dayName уже определена и имеет значение "Wednesday". Твоя задача — использовать выражение switch, чтобы присвоить переменной description следующие значения:
- "Start of the week" для понедельника
- "Midweek" для среды
- "Almost weekend" для пятницы
- "Weekend" для субботы или воскресенья
- "Regular day" для любого другого дня

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

	// TODO: Напишите оператор switch, который задаёт описание в зависимости от dayName
	// Для Monday: "Start of the week"
	// Для Wednesday: "Midweek"
	// Для Friday: "Almost weekend"
	// Для Saturday или Sunday: "Weekend"
	// Для любого другого дня: "Regular day"
	
	
quiz iconПроверьте себя

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

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

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