Оператор `switch`
Часть раздела Основы путешествия по GO на Coddy — урок 39 из 109.
Давайте изучим оператор switch в Go, который предоставляет более чистый способ проверки нескольких условий по сравнению с использованием множества операторов if/else if.
Сначала давайте создадим простую программу, которая вычисляет номер дня и выводит соответствующее название дня:
day := 3
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
case 3:
fmt.Println("Wednesday")
default:
fmt.Println("Another day")
}
После выполнения этого кода программа проверит значение day (которое равно 3) и сопоставит его с соответствующим case. Так как day равно 3, программа выполнит код в блоке case 3 и выведет на экран:
WednesdayОператор switch проверяет каждое значение case по порядку, пока не найдет совпадение. Если совпадение не найдено, выполняется код в блоке default. Это делает ваш код гораздо чище, чем написание нескольких инструкций if/else if.
Задание
Новичокswitch в Go. Вам будет дана переменная, представляющая день недели, и вам нужно завершить оператор switch, чтобы вывести, является ли этот день будним или выходным.Шпаргалка
Оператор switch в Go предоставляет более чистый способ проверки нескольких условий по сравнению с использованием множества операторов if/else if.
Базовый синтаксис:
switch variable {
case value1:
// код для выполнения
case value2:
// код для выполнения
default:
// код для выполнения, если совпадений нет
}
Пример:
day := 3
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
case 3:
fmt.Println("Wednesday")
default:
fmt.Println("Another day")
}
Оператор switch проверяет каждый case по порядку, пока не найдет совпадение. Если совпадение не найдено, выполняется код в блоке default.
Попробуйте сами
package main
import "fmt"
func main() {
// Эта переменная представляет день недели
day := "Saturday"
// TODO: Завершите оператор switch, чтобы проверить, является ли день будним или выходным
switch day {
// Добавьте варианты для выходных дней (суббота и воскресенье) и выведите "It's the weekend!"
// Добавьте вариант по умолчанию для будних дней и выведите "It's a weekday."
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравнения — Часть 1Операторы сравнения — Часть 2Логический оператор ANDЛогический оператор ORЛогический оператор NOTОсновы приоритета операторовИтоги: выполнение сравнений7Управляющие конструкции: Циклы
Что такое цикл `for`Цикл `for` — основыЦикл `for` — только условиеКлючевое слово `break`Ключевое слово `continue`Вложенные циклыИтоги — повторение действий2Переменные и базовые типы данных
Что такое переменнаяВывод типов с помощью `:=`Целые числа (int)Числа с плавающей точкойЛогический тип (Booleans)СтрокиНулевые значения (Zero Values)КонстантыПравила именованияИтоги: переменные и типы5Основы ввода-вывода
Форматированный выводСпецификаторы форматаВывод типовБазовый ввод данных пользователемИтоги: ввод и вывод8Функции
Понимание функцийОбъявление функцииВызов функцийПараметры функцииВозврат одного значенияВозврат нескольких значенийИменованные возвращаемые значенияОсновы области видимости функцийИтоги — создание переиспользуемого кода3Базовые операторы
Арифметические операторыОператор деленияОператор остатка от деленияОператор присваиванияКомбинированные операторы присваиванияИнкремент и декрементПовторение — Вычисления6Управление потоком: Условные конструкции
Оператор `if`Ключевое слово `else`Ключевое слово `else if`Затенение переменных в `if`Инициализация переменныхОператор `switch`Switch с выражениямиSwitch без выраженийКлючевое слово `fallthrough`Итоги — Принятие решений