演算子 Operator は記号で表され、チェック、変更や計算に利用される。例えば 加算演算子 + は let i = 1 + 2
のように足し算に使われ、論理積演算子 && は if enteredDoorCode && passedRetinaScan
のように2つのBool値を組み合わせることに使われる。
Swift は標準的なC言語の演算子を備えているほか、よくあるエラーをなくすために様々な強化が行われている。
例えば 代入演算子 = は、 等価演算子 == と間違って使われないように値を返さないし、 +, -, *, /, % のような算術演算子 は処理した値がその値が格納されている型が対応している範囲超過を検知し、超過があってもそれを許可しない。
しかしながら Overflow Operators を利用すれば超過も限定的に利用できる。
またSwiftはC言語にはなかった、2つの 範囲演算子 a..<b と a...b が用意されている。これらは数値の範囲を表すのに利用できる。
後述の Advanced Operators では独自のカスタム演算子の定義、実装方法などが解説されている。
用語
演算子には単項、二項、三項演算子が用意されている。
-
単項演算子 は
-a
のような単一の値を対象とする。単項演算子には!b
のように、対象の値の前に添えられる 前置単項演算子 と、c!
のように後ろに添えられる 後置単項演算子 の2つがある。 -
二項演算子 は
2 + 3
のように、2つの値を対象とする。二項演算子は値と値の間に添えられるので中置になる。 -
三項演算子 は3つの値を対象とする。C言語と同じくSwiftは
a ? b : c
という条件演算子1つしか持たない。
演算子の処理対象になる値は 被演算子 operands と呼ばれる。例えば 1 + 2
において、1
と 2
は被演算子で、 +
は二項演算子である。