Basic Operators で説明されている演算子に加え、Swift にはより複雑な値の操作を実行する高度な演算子があります。これらには C や Objective-C でも見られる、ビットやビットシフトの演算子すべてが含まれます。

C の算術演算子と異なり、Swift の算術演算子はデフォルトではオーバーフローしません。オーバーフローの振る舞いはトラップとなり、エラーとして報告されます。オーバーフローの振る舞いを選択するには、オーバーフロー加算演算子 (&+) のような、デフォルトでオーバーフローする Swift の算術演算子を使用します。オーバーフロー演算子はすべてアンパサンド (&) で始まります。

構造体やクラス、列挙型を定義するときに、これらの型に対して Swift の標準演算子の独自実装を提供すると有益になる場合があります。Swift ではこれらの演算子に合わせた実装を提供し、作成する各型に合わせた振る舞いを決めることができます。

あらかじめ定義されている演算子に限られるわけではありません。Swift では、独自の中置、前置、後置、そして代入演算子を定義することができます。あらかじめ定義されている演算子と同じようにこれらの演算子をコードで使用することができ、そして定義した独自の演算子をサポートするために既存の型を拡張することさえできます。


Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.