Перейти к основному содержимому

Оператор

Этот документ излагает операторы, которые можно использовать на текущий момент в соответствии с компилятором.

арифметика

ОператорОписание
+Сложение
-Вычитание
*Умножение
/Деление
%остаток

сравнение

ОператорОписание
==Равно
!=Не равно
<Меньше
<=Меньше или равно
>Больше
>=Больше или равно

логика

ОператорОписание
&&Логическое И
||логическое ИЛИ
!Логическое НЕ

битовый

ОператорОписание
&Побитовое И
|бит ИЛИ
^Побитовое XOR
~Побитовое НЕ
<<Сдвиг влево
>>Сдвиг вправо

присваивание

ОператорОписание
=основное присваивание
+=присваивание после сложения
-=присваивание после вычитания
*=присваивание после умножения
/=присваивание после деления
%=присваивание остатка

унарный/указатель/каст

оператор/ключевое словоОписание
++, --префиксное/постфиксное увеличение
&xполучение адреса
deref pразыменование указателя
expr as Tявный каст

операции над указателями

выражениерезультат
ptr<T> + intptr<T> (смещение GEP)
int + ptr<T>ptr<T> (смещение GEP)
ptr<T> - intptr<T> (смещение GEP)
ptr<T> - ptr<T>i64 (разница в байтах)
ptr == ptr, ptr != ptrСравнение указателей

Резервные или не реализованные элементы

Грамматические токены существуют, но в настоящее время не поддерживаются выражениями операций. Пример: ??, ?:, in, is, !&, !|, ~^.