0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>В Go логический тип (bool) используется для представления двух значений: true (истина) и false (ложь).</p>
1
<p>В Go логический тип (bool) используется для представления двух значений: true (истина) и false (ложь).</p>
2
<h2>Логические операторы</h2>
2
<h2>Логические операторы</h2>
3
<p>Логические операторы в Go позволяют комбинировать или изменять булевы значения (true и false). Они часто используются в условиях (if, for) и при построении сложных выражений.</p>
3
<p>Логические операторы в Go позволяют комбинировать или изменять булевы значения (true и false). Они часто используются в условиях (if, for) и при построении сложных выражений.</p>
4
<p>Go поддерживает классические логические операции:</p>
4
<p>Go поддерживает классические логические операции:</p>
5
<ul><li>&& - логическое "и" (возвращает true, если оба операнда истинны)</li>
5
<ul><li>&& - логическое "и" (возвращает true, если оба операнда истинны)</li>
6
<li>|| - логическое "или" (возвращает true, если хотя бы один операнд истинен)</li>
6
<li>|| - логическое "или" (возвращает true, если хотя бы один операнд истинен)</li>
7
<li>! - логическое "не" (инвертирует значение: !true становится false)</li>
7
<li>! - логическое "не" (инвертирует значение: !true становится false)</li>
8
<li>== - сравнение на равенство</li>
8
<li>== - сравнение на равенство</li>
9
<li>!= - сравнение на неравенство</li>
9
<li>!= - сравнение на неравенство</li>
10
</ul><p>Примеры:</p>
10
</ul><p>Примеры:</p>
11
<h2>Объявление переменных</h2>
11
<h2>Объявление переменных</h2>
12
<p>Переменные логического типа объявляются явно с использованием bool или через вывод типа:</p>
12
<p>Переменные логического типа объявляются явно с использованием bool или через вывод типа:</p>
13
<p>Переменные логического типа по умолчанию получают значение false:</p>
13
<p>Переменные логического типа по умолчанию получают значение false:</p>
14
<h2>Строгая типизация</h2>
14
<h2>Строгая типизация</h2>
15
<p>Go - строго типизированный язык. Это значит, что логические значения нельзя смешивать с другими типами. Например, нельзя сравнивать bool со строкой или числом:</p>
15
<p>Go - строго типизированный язык. Это значит, что логические значения нельзя смешивать с другими типами. Например, нельзя сравнивать bool со строкой или числом:</p>
16
<p>Чтобы проверить, что число не равно нулю, сравнение выполняют явно:</p>
16
<p>Чтобы проверить, что число не равно нулю, сравнение выполняют явно:</p>
17
<p>Для строк проверка также выполняется явно:</p>
17
<p>Для строк проверка также выполняется явно:</p>
18
<p>Булевы значения можно сравнивать только с булевыми:</p>
18
<p>Булевы значения можно сравнивать только с булевыми:</p>
19
<h2>Сравнение строк</h2>
19
<h2>Сравнение строк</h2>
20
<p>Go позволяет сравнивать строки с помощью стандартных операторов:</p>
20
<p>Go позволяет сравнивать строки с помощью стандартных операторов:</p>
21
<ul><li>== - равно</li>
21
<ul><li>== - равно</li>
22
<li>!= - не равно</li>
22
<li>!= - не равно</li>
23
<li><, >, <=, >= - лексикографическое сравнение (по порядку символов и длине)</li>
23
<li><, >, <=, >= - лексикографическое сравнение (по порядку символов и длине)</li>
24
</ul><p>Сравнение выполняется побайтно, в соответствии с кодировкой UTF-8.</p>
24
</ul><p>Сравнение выполняется побайтно, в соответствии с кодировкой UTF-8.</p>
25
<h2>Использование в функциях</h2>
25
<h2>Использование в функциях</h2>
26
<p>Сравнения полезны даже без использования условных конструкций. Таким образом часто пишут функции-предикаты, то есть функции, которые выполняют проверки и возвращают булево значение.</p>
26
<p>Сравнения полезны даже без использования условных конструкций. Таким образом часто пишут функции-предикаты, то есть функции, которые выполняют проверки и возвращают булево значение.</p>
27
<p>Примеры вызовов:</p>
27
<p>Примеры вызовов:</p>
28
28