0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>В Go, кроме привычного if, есть ещё одна конструкция ветвления - switch. Она используется для выбора одного из нескольких возможных путей выполнения кода. На первый взгляд switch в Go похож на аналогичную конструкцию из других языков (например, C или Java), но его поведение отличается в важных деталях.</p>
1
<p>В Go, кроме привычного if, есть ещё одна конструкция ветвления - switch. Она используется для выбора одного из нескольких возможных путей выполнения кода. На первый взгляд switch в Go похож на аналогичную конструкцию из других языков (например, C или Java), но его поведение отличается в важных деталях.</p>
2
<p><strong>Вывод:</strong></p>
2
<p><strong>Вывод:</strong></p>
3
<p>В этом примере x сравнивается с каждым case. Как только находится совпадение, выполняется соответствующий блок, и switch завершается автоматически - писать break не нужно. Кроме того, default не обязан идти последним - он всегда выполняется в последнюю очередь, если не было совпадений.</p>
3
<p>В этом примере x сравнивается с каждым case. Как только находится совпадение, выполняется соответствующий блок, и switch завершается автоматически - писать break не нужно. Кроме того, default не обязан идти последним - он всегда выполняется в последнюю очередь, если не было совпадений.</p>
4
<p>Можно использовать switch без выражения. В этом случае он работает как if-else if, проверяя условия по порядку:</p>
4
<p>Можно использовать switch без выражения. В этом случае он работает как if-else if, проверяя условия по порядку:</p>
5
<p><strong>Вывод:</strong></p>
5
<p><strong>Вывод:</strong></p>
6
<p>Такой вариант удобен, когда нужно проверить набор условий, а не одно значение.</p>
6
<p>Такой вариант удобен, когда нужно проверить набор условий, а не одно значение.</p>
7
<h2>Ключевое слово fallthrough</h2>
7
<h2>Ключевое слово fallthrough</h2>
8
<p>В Go по умолчанию не происходит проваливания в следующий case, как это бывает в других языках. Но если вы хотите принудительно продолжить выполнение следующего блока, можно использовать fallthrough:</p>
8
<p>В Go по умолчанию не происходит проваливания в следующий case, как это бывает в других языках. Но если вы хотите принудительно продолжить выполнение следующего блока, можно использовать fallthrough:</p>
9
<p><strong>Вывод:</strong></p>
9
<p><strong>Вывод:</strong></p>
10
<p>Ключевое слово fallthrough всегда выполняет следующий case, даже если его условие не подходит. Это может привести к неожиданному поведению, поэтому используется редко и осознанно.</p>
10
<p>Ключевое слово fallthrough всегда выполняет следующий case, даже если его условие не подходит. Это может привести к неожиданному поведению, поэтому используется редко и осознанно.</p>