Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Приоритет выполнения операторов
В какой последовательности будет вычисляться это выражение?
var x int
x = 5 + 10 * 3 / 2
fmt.Println(x) // 20
Это зависит от приоритета выполнения операторов. В данном случае последовательность вычисления выражения будет следующей:
- Число
10
будет умножено на3
, т. к. приоритет оператора умножения выше приоритета оператора сложения. - Полученное значение будет поделено на
2
, поскольку приоритет оператора деления равен приоритету оператора умножения (а операторы с равными приоритетами выполняются слева направо), но выше чем у оператора сложения. - К полученному значению будет прибавлено число
5
, т. к. оператор присваивания=
имеет наименьший приоритет. - Значение будет присвоено переменной
x
.
С помощью скобок можно изменить последовательность вычисления выражения:
var x int
x = (5 + 10) * 3 / 2
fmt.Println(x) // 22
Теперь порядок вычислений будет другим:
- К числу
5
будет прибавлено10
. - Полученное значение будет умножено на
3
. - Полученное значение будет поделено на
2
. - Значение будет присвоено переменной
x
.
Перечислим операторы в порядке убывания приоритета:
*
,&
,+
,-
— разыменование, взятие адреса, унарный плюс, унарный минус;*
,/
,%
,<<
,>>
,&
,&^
— умножение, деление, остаток от деления, двоичные сдвиги, двоичноеИ
, двоичноеИ НЕ
;+
,−
,^
,|
— сложение, вычитание, двоичное исключающееИЛИ
, двоичноеИЛИ
;<
,<=
,>
,>=
,==
,!=
— операторы сравнения;&&
— логическоеИ
;||
— логическоеИЛИ
;=
,+=
,-=
,*=
,/=
,%=
— присваивание.
Реквизиты
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов