Operators that bound tighter (higher precedence) are listed first.
Operators | Precedence group (≥3.0) | Precedence | Associativity |
|————|——————|–––––––––––––|—————| | .
| | ∞ | left | ?
, \\!
, ++
, --
, []
, ()
, {}
| (postfix) | | | | \\!
, ~
, \\+
, \\-
, ++
, --
| (prefix) | | | | [~>
(swift ≤2.3)](http://stackoverflow.com/questions/26758297/what-is-the-tilde-greater-than-operator-used-for-in-swift) | | 255 | left | <<
, >>
| BitwiseShiftPrecedence | 160 | none | \\*
, /
, %
, &
, &*
| MultiplicationPrecedence | 150 | left | \\+
, \\-
, |, ^
, &+
, &-
| AdditionPrecedence | 140 | left | ...
, ..<
| RangeFormationPrecedence | 135 | none | is
, as
, as?
, as!
| CastingPrecedence | 132 | left | ??
| NilCoalescingPrecedence | 131 | right | \\<
, <=
, \\>
, >=
, ==
, !=
, ===
, !==
, ~=
| ComparisonPrecedence | 130 | none | | &&
| LogicalConjunctionPrecedence | 120 | left | || | LogicalDisjunctionPrecedence | 110 | left | | DefaultPrecedence* | | none | ?
…:
| TernaryPrecedence | 100 | right | =
, +=
, -=
, *=
, /=
, %=
, <<=
, >>=
, &=
, |=, ^=
| AssignmentPrecedence | 90 | right, assignment | ->
| FunctionArrowPrecedence | | right
DefaultPrecedence
precedence group is higher than TernaryPrecedence
, but is unordered with the rest of the operators. Other than this group, the rest of the precedences are linear.