op ==
==
Приоритет: 4 Ассоциативность: нет (a < b < c — ошибка)
Определяется в
- 5.2 Приоритет и ассоциативность — Приоритет и ассоциативность
- 5.3 Перегрузка и пользовательские операторы — Перегрузка встроенных операторов — объявления op в impl
- 1.6 Операторы и разделители — + - * / % ** +% -% % +| -| | & | ^ ~ << >> && || !
- 5.4 Условия — Тернарного оператора нет.
- 5.6 Циклы — for принимает Iterable<T> (в том числе iter<T>, коллекции, диапазоны); for await — Streamable<T>.
- 4.2 data — Поле: видимость?
Примеры
let kind = if n < 0 { "neg" } else if n == 0 { "zero" } else { "pos" }
if let User{ role: .Admin, name, .. } = u { greet(name) }
if x is Receipt { save(x) } // x сужен до Receiptfor u in users { … }
for (i, u) in users.enumerate() { … }
for i in 0..n where i % 2 == 0 { … } // фильтр
for await msg in input { … } // stream<T>
while cond { … }
while let x? = queue.pop() { … }
loop { if done { break result } } // loop — выражение
'outer: for a in xs { for b in ys { if a == b { break 'outer } } }Связанные диагностики
chained-comparison, not-callable, not-overloadable, operator-decl, range-not-iterable, invalid-char, break-value, outside-loop, unknown-field