Выражение switch в Dart
Давайте теперь будем получать из switch значение, а не
только выполнять команды. Ветки пишут со стрелкой =>.
То, что стоит после стрелки, возвращается как результат и
может быть записано в переменную. Для числа нужна ветка по
умолчанию: без нее не все случаи перекрыты, и запись не
собирается. Соседняя ветка сама не начинается.
var val = 1;
var str = switch (val) {
1 => "value1",
2 => "value2",
3 => "value3",
_ => "incorrect value",
};
print(str); // выведет value1
Пусть теперь выбирается текст по коду языка. Результат снова записывается в переменную:
var lang = "ru";
var res = switch (lang) {
"ru" => "111",
"en" => "222",
"de" => "333",
_ => "unsupported language",
};
print(res); // выведет 111
Без ветки по умолчанию запись в переменную не собирается:
var val = 1;
var str = switch (val) {
1 => "value1",
}; // программа не собирается
Перепишите следующий код так, чтобы текст сразу записывался в переменную, и выведите этот текст:
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 size = 2;
Запишите текстовую метку в переменную label и выведите
ее: для 1 - "tiny", для 2 -
"small", для 3 - "medium", иначе
"large".
Переменная num1 может принимать значения 1,
2, 3 или 4. Определите, в какую пору года
попадает значение этой переменной.