HTML Diff
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>