Operators
Kiwi provides a rich set of operators with modern syntax and predictable precedence.
Arithmetic Operators
| Operator Category / Name |
Operator |
Operator Type |
Example |
| Subtract |
- |
Binary |
a - b |
| Add |
+ |
Binary |
a + b |
| Modulus |
% |
Binary |
a % b |
| Divide |
/ |
Binary |
a / b |
| Multiply |
* |
Binary |
a * b |
| Exponent |
** |
Binary |
a ** b |
Comparison Operators
| Operator Category / Name |
Operator |
Operator Type |
Example |
| Equal |
== |
Comparison |
a == b |
| Not Equal |
!= |
Comparison |
a != b |
| Less Than |
< |
Comparison |
a < b |
| Less Than Or Equal |
<= |
Comparison |
a <= b |
| Greater Than |
> |
Comparison |
a > b |
| Greater Than Or Equal |
>= |
Comparison |
a >= b |
Null-Coalescing Operator
| Operator Category / Name |
Operator |
Operator Type |
Example |
| Null-Coalesce |
?? |
Binary |
a ?? b |
Logical Operators
| Operator Category / Name |
Operator |
Operator Type |
Example |
| Logical OR |
|| |
Binary |
a || b |
| Logical AND |
&& |
Binary |
a && b |
| Logical NOT |
! |
Unary |
!a |
Bitwise Operators
| Operator Category / Name |
Operator |
Operator Type |
Example |
| Bitwise OR |
| |
Binary |
a | b |
| Bitwise AND |
& |
Binary |
a & b |
| Bitwise XOR |
^ |
Binary |
a ^ b |
| Bitwise NOT |
~ |
Unary |
~a |
| Bitwise Left Shift |
<< |
Binary |
a << b |
| Bitwise Right Shift |
>> |
Binary |
a >> b |
| Logical (Unsigned) Right Shift |
>>> |
Binary |
a >>> b |
Assignment Operators
| Operator Category / Name |
Operator |
Operator Type |
Example |
| Assign |
= |
Assignment |
a = 5 |
| Unpack Assign |
=< |
Assignment |
a, b = 5, 2 |
| Subtract Assign |
-= |
Assignment |
a -= 5 |
| Add Assign |
+= |
Assignment |
a += 5 |
| Modulo Assign |
%= |
Assignment |
a %= 5 |
| Divide Assign |
/= |
Assignment |
a /= 5 |
| Multiply Assign |
*= |
Assignment |
a *= 5 |
| Exponent Assign |
**= |
Assignment |
a **= 5 |
Logical Assignment Operators
| Operator Category / Name |
Operator |
Operator Type |
Example |
| Logical OR Assign |
||= |
Assignment |
a ||= b |
| Logical AND Assign |
&&= |
Assignment |
a &&= b |
Bitwise Assignment Operators
| Operator Category / Name |
Operator |
Operator Type |
Example |
| Bitwise OR Assignment |
|= |
Assignment |
a |= b |
| Bitwise AND Assignment |
&= |
Assignment |
a &= b |
| Bitwise XOR Assignment |
^= |
Assignment |
a ^= b |
| Bitwise NOT Assignment |
~= |
Assignment |
a ~= b |
| Bitwise Left Shift Assignment |
<<= |
Assignment |
a <<= b |
| Bitwise Right Shift Assignment |
>>= |
Assignment |
a >>= b |