运算符 (Operators)
Zig 提供了丰富的运算符来操作数据。
运算符表 (Table of Operators)
| 运算符 | 描述 |
|---|---|
+ | 加法 |
- | 减法 / 取反 |
* | 乘法 / 指针解引用 |
/ | 除法 |
% | 取模 |
+= | 加法赋值 |
-= | 减法赋值 |
*= | 乘法赋值 |
/= | 除法赋值 |
%= | 取模赋值 |
== | 等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
! | 逻辑非 |
and | 逻辑与 |
or | 逻辑或 |
& | 按位与 / 取地址 |
| ` | ` |
^ | 按位异或 |
~ | 按位取反 |
<< | 左移 |
>> | 右移 |
orelse | 可选类型展开 |
catch | 错误处理 |
try | 错误传播 |
优先级 (Precedence)
运算符的优先级决定了表达式的计算顺序。优先级从高到低排列如下:
.(字段访问),[](数组/切片索引),()(函数调用),.{}(结构体/元组初始化)!(逻辑非),-(取反),~(按位取反),*(解引用),&(取地址),?(可选类型)*(乘法),/(除法),%(取模),**(数组乘法)+(加法),-(减法),++(数组连接)<<(左移),>>(右移)&(按位与)^(按位异或)|(按位或)orelse==,!=,<,>,<=,>=(比较运算符)andorcatch
注意:Zig 没有运算符重载。