Конструкция switch в Dart
Сейчас мы изучим конструкцию switch. Она используется
для выбора одного значения из некоторого ряда значений.
Следующая ветка сама не начинается, отдельный break для
этого не нужен. Изучите ее синтаксис:
switch (переменная) {
case значение1:
/*
здесь код, который выполнится в случае,
если переменная имеет значение1
*/
case значение2:
/*
здесь код, который выполнится в случае,
если переменная имеет значение2
*/
default:
/*
здесь код, который выполнится в случае,
если значение не совпало ни с одним
*/
}
Как вы можете заметить, switch представляет собой
альтернативу множеству else if. Давайте посмотрим на
примере. Пусть у нас есть вот такой код:
var val = 1;
if (val == 1) {
print("variant 1"); // сработает это
} else if (val == 2) {
print("variant 2");
} else if (val == 3) {
print("variant 3");
} else {
print("variant not supported");
}
Перепишем этот код через конструкцию switch:
var val = 1;
switch (val) {
case 1:
print("variant 1"); // сработает это
case 2:
print("variant 2");
case 3:
print("variant 3");
default:
print("variant not supported");
}
Блок default является необязательным. Если значение не
совпало ни с одной веткой и блока default нет, ничего
не произойдет:
var val = 1;
switch (val) {
case 1:
print("variant 1"); // сработает это
case 2:
print("variant 2");
case 3:
print("variant 3");
}
Перепишите следующий код более коротко:
var lang = "ru";
if (lang == "ru") {
print("rus");
} else if (lang == "en") {
print("eng");
} else if (lang == "de") {
print("deu");
} else {
print("language not supported");
}
Дано число:
var port = 443;
Для 80 выведите "http",
для 443 - "https",
для 21 - "ftp",
иначе "custom port".
Переменная num1 может принимать значения 1,
2, 3 или 4. Определите, в какую пору года
попадает значение этой переменной.