Skip to content

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 &#124;&#124; Binary a &#124;&#124; b
Logical AND && Binary a && b
Logical NOT ! Unary !a

Bitwise Operators

Operator Category / Name Operator Operator Type Example
Bitwise OR &#124; Binary a &#124; 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 &#124;&#124;= Assignment a &#124;&#124;= b
Logical AND Assign &&= Assignment a &&= b

Bitwise Assignment Operators

Operator Category / Name Operator Operator Type Example
Bitwise OR Assignment &#124;= Assignment a &#124;= 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