Перейти к содержанию

Операторы и обозначения

Posted on:31 января 2023 г. at 18:30

Example Dynamic OG Image link

ОператорПримерПримечаниеПерегружаемость
!ident!(…), ident!{…}, ident![…]Вызов макроса
!!exprПобитовое или логическое отрицаниеNot
!=expr != exprСравнение “не равно”PartialEq
%expr % exprОстаток от деленияRem
%=var %= exprОстаток от деления и присваиваниеRemAssign
&&expr, &mut exprЗаимствование
&&type, &mut type, &‘a type, &‘a mut typeУказывает что данный тип заимствуется
&expr & exprПобитовое ИBitAnd
&=var &= exprПобитовое И и присваиваниеBitAndAssign
&&expr && exprЛогическое И
*expr * exprАрифметическое умножениеMul
+=var += exprАрифметическое сложение и присваиваниеAddAssign
,expr, exprАргумент и разделитель элементов
--exprАрифметическое отрицаниеNeg
-expr - exprАрифметическое вычитаниеSub
-=var -= exprАрифметическое вычитание и присваиваниеSubAssign
->fn(…) -> type, |…| -> typeФункции
.expr.identДоступ к элементу
...., expr.., ..expr, expr..exprУказывает на диапазон чисел, исключая правыйPartialOrd
..=..=expr, expr..=exprУказывает на диапазон чисел, включая правыйPartialOrd
....exprСинтаксис обновления структуры
..variant(x, ..), struct_type { x, .. }Привязка «И все остальное»
expr…expr(Устарело, используйте новый синтаксис ..=) Используется при определении инклюзивного диапазона
/expr / exprАрифметическое делениеDiv
/=var /= exprАрифметическое деление и присваиваниеDivAssign
:pat: type, ident: typeОграничения типов
:ident: exprИнициализация поля структуры
:‘a: loop {…}Метка цикла
;expr;Оператор, указывающий на конец высказывания
;[…; len]Часть синтаксиса массива фиксированного размера
<<expr << exprБитовый сдвиг влевоShl
<<=var <<= exprБитовый сдвиг влево и присваиваниеShlAssign
<expr < exprСравнение “меньше чем”PartialOrd
<=expr <= exprСравнение “меньше или равно”PartialOrd
=var = expr, ident = typeПрисваивание/эквивалентность
==expr == exprСравнение “равно”PartialEq
=>pat => exprЧасть синтаксиса конструкции match
>expr > exprСравнение “больше чем”PartialOrd
>=expr >= exprСравнение “больше или равно”PartialOrd
>>expr >> exprБитовый сдвиг вправоShr
>>=var >>= exprБитовый сдвиг вправо и присваиваниеShrAssign
@ident @ patПривязка шаблона
^expr ^ exprПобитовое исключающее ИЛИBitXor
^=var ^= exprПобитовое исключающее ИЛИ и присваиваниеBitXorAssign
|pat | patАльтернативные шаблоны
|expr | exprПобитовое ИЛИBitOr
|=var |= exprПобитовое ИЛИ и присваиваниеBitOrAssign
||expr || exprКороткое логическое ИЛИ
?expr?Возврат ошибки