Найти тему

015 Switсh на практике

Вот пример простой программы-калькулятора, написанной на языке Go, но без ввода значений с клавиатуры или использования аргументов командной строки:

Go Playground - The Go Programming Language

В этом примере значения num1, num2 и арифметическая операция жестко заданы в переменных программы, не вводятся пользователем с клавиатуры и не передаются в качестве аргументов командной строки. Когда программа будет запущена, она выполнит вычисление, заданное значением арифметической операции, и выведет результат на консоль.

В этом примере мы знакомимся с двумя первым зарезервированными словами - switch и case.

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

Вот еще один пример оператора switch в Go:

Go Playground - The Go Programming Language

В этом примере оператор switch проверяет значение оценки, которой присваивается значение "B". Программа сопоставит значение оценки с каждой из меток case и выполнит блок кода для первой совпавшей метки case. В этом случае будет выведено "Good job!".

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

Оператор switch так же использует еще одно страшное слово - fallthrough (провал). Так называемый Провал считался достопримечательностью Пятигорска. Это кажется было единственное место куда отдыхающие могли попасть бесплатно.

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

Вот пример работы с fallthrough:

Go Playground - The Go Programming Language

Switch так же может использовать оператор break. Он не нужен в коде в явном виде и применяется только при необходимости.

В данном примере break останавливает проваливание по определенному случаю. Если убрать break вы получите два значения.

Go Playground - The Go Programming Language