Сравнение, логика и биты
Операторы сравнения
| Оператор | Описание |
|---|
== | равно |
!= | не равно |
< | меньше |
<= | меньше или равно |
> | больше |
>= | больше или равно |
Результат — всегда bool. Сравнивать можно только значения одного типа.
Логические операторы
| Оператор | Описание |
|---|
&& | логическое И |
|| | логическое ИЛИ |
! | логическое отрицание |
&& и || — ленивые вычисления: правый операнд не вычисляется, если результат уже определён левым.
Побитовые операторы
| Оператор | Описание |
|---|
& | побитовое И |
| | побитовое ИЛИ |
^ | XOR / унарный NOT |
&^ | AND NOT (bit clear) |
<< | сдвиг влево |
>> | сдвиг вправо |
fmt.Println(0b1100 & 0b1010) // 8 (0b1000)
fmt.Println(1 << 3) // 8
fmt.Println(16 >> 2) // 4
Приоритет операторов
* / % << >> & &^
+ - | ^
== != < <= > >=
&&
||
При сомнениях используйте скобки.
Упражнения
| № | Задание | Сложность |
|---|
| 1 | Упражнение 1 | easy |
| 2 | Упражнение 2 | easy |
| 3 | Упражнение 3 | medium |
| 4 | Упражнение 4 | medium |