Swift Programming: 演算子と式、および制御構造

Swiftの演算子はおよそCに準じる。新たに加わるものもあるし、異なるものもある。

演算子は三種類、単項演算子二項演算子三項演算子があり、また独自の演算子を定義できる。
この演算子オーバーロードには、{prefix|infix|postfix} operator 演算子名(引数) と、関数定義funcの代わりにoperatorを使用する。

  • 前置; prefix
  • 中置; infix
  • 後置; postfix

同様に、二項演算子三項演算子はそれぞれ、二引数三引数でBool値を返す関数であるといえる。

演算子

  • 単項演算子
    • 負; -
    • インクリメント; --
    • デクリメント; ++
  • 二項演算(オーバーフロー演算)
    • 加算; +,(&+)
    • 減算; -,(&-)
    • 乗算; *,(&*)
    • 除算; /,(&/)
    • 剰余; %,(&%)
    • 否定(単項演算); !
    • 論理和; &&
    • 論理積; ||
    • nil合同; a ?? b (a != nil ? a! : b と等価)
  • 三項演算
    • A ? B : C

代入、比較、範囲

算術演算以外にも、代入演算、比較演算、範囲演算が用意されている

  • 代入; =
    • 複合代入; +=,-=,*=,/=
  • 比較; ==,!=,<,>,<=,>=,===,!==
  • 範囲; ...,..
    • 0...5の場合,5が入る
    • 0..<5の場合,5は入らない

制御構造

制御構造

  • 定回反復文
    • for 一時変数 in 変数 {}
    • for var 一時変数 = 初期値; 停止条件; 反復式 {}
  • 不定回反復文
    • while 条件 {}
    • do {} while 条件
  • 条件文
    • if 条件 {} else {}
    • switch VARIABLE {case VALUE: default:}
  • フロー制御
    • continue
    • break
    • fallthrough
    • return
  • ラベル文

 フロー制御文の引数に識別子をラベルとして用いることで指定のラベル位置へ制御を移せる