본문 바로가기
Rust

[Rust] Operator

by llHoYall 2022. 7. 30.

Below are the operators in Rust.

Macro Explanation Usage
! Macro expansion ident!(...)
ident!{…}
ident![…]
== Equality comparison expr == expr
Nonequality comparison var ≠ expr
< Less than comparison expr < expr
Less than or equal to comparison expr ≤ expr
> Greater than comparison expr > expr
Greater than or equal to comparison expr ≥ expr
+ Arithmetic addition expr + expr
+= Arithmetic addition and assignment var += expr
- Arithmetic negation -expr
- Arithmetic subtraction expr - expr
-= Arithmetic subtraction and assignment var -= expr
* Arithmetic multiplication expr * expr
*= Arithmetic multiplication and assignment var *= expr
/ Arithmetic division expr / expr
/= Arithmetic division and assignment var /= expr
% Arithmetic remainder expr % expr
%= Arithmetic remainder and assignment var %= expr
! Bitwise or logical complement !expr
& Bitwise AND expr & expr
&= Bitwise AND and assignment var &= expr
| Bitwise OR expr | expr
|= Bitwise OR and assignment var |= expr
^ Bitwise exclusive OR expr ^ expr
^= Bitwise exclusive OR and assignment var ^= expr
&& Short-circuiting logical AND expr && expr
|| Short-circuiting logical OR expr || expr
& Borrow &expr
&mut expr
& Borrowed pointer type &type
&mut type
&’a type
&’a mut type
* Dereference *expr
* Raw pointer *const type
*mut type
+ Compound type constraint trait + trait
’a + trait
, Argument and element separator expr, expr
Function and closure return type fn(…) → type
|…| → type
. Member access expr.ident
.. Right-exclusive range literal ..
expr..
..expr
expr..expr
..= Right-inclusive range literal ..=expr
expr..=expr
.. Struct literal update syntax ..expr
.. "And the rest” pattern binding variant(x, ..)
struct_type { x, .. }
: Constraints pat: type
ident: type
: Struct field initializer ident: expr
: Loop label ‘a: loop {…}
; Statement and item terminator expr;
; Part of fixed-size array syntax […; len]
<< Left-shift expr << expr
<<= Left-shift and assignment var <<= expr
>> Right-shift expr >> expr
>>= Right-shift and assignment var >>= expr
= Assignment/Equivalence var = expr
ident = type
Part of match arm syntax pat ⇒ expr
@ Pattern binding ident @ pat
| Pattern alternatives pat | pat
? Error propagation expr?

'Rust' 카테고리의 다른 글

[Rust] Function  (0) 2022.08.01
[Rust] Control Flow  (0) 2022.07.31
[Rust] Data Type  (0) 2022.07.30
[Rust] Variables  (0) 2022.07.28
[Rust] Getting Started Rust with VS Code  (0) 2022.07.26

댓글