运算符 (Operators)

Zig 提供了丰富的运算符来操作数据。

运算符表 (Table of Operators)

运算符描述
+加法
-减法 / 取反
*乘法 / 指针解引用
/除法
%取模
+=加法赋值
-=减法赋值
*=乘法赋值
/=除法赋值
%=取模赋值
==等于
!=不等于
<小于
>大于
<=小于等于
>=大于等于
!逻辑非
and逻辑与
or逻辑或
&按位与 / 取地址
``
^按位异或
~按位取反
<<左移
>>右移
orelse可选类型展开
catch错误处理
try错误传播

优先级 (Precedence)

运算符的优先级决定了表达式的计算顺序。优先级从高到低排列如下:

  1. . (字段访问), [] (数组/切片索引), () (函数调用), .{} (结构体/元组初始化)
  2. ! (逻辑非), - (取反), ~ (按位取反), * (解引用), & (取地址), ? (可选类型)
  3. * (乘法), / (除法), % (取模), ** (数组乘法)
  4. + (加法), - (减法), ++ (数组连接)
  5. << (左移), >> (右移)
  6. & (按位与)
  7. ^ (按位异或)
  8. | (按位或)
  9. orelse
  10. ==, !=, <, >, <=, >= (比较运算符)
  11. and
  12. or
  13. catch

注意:Zig 没有运算符重载。