swift

Swift4基本構文_制御文的な何か

投稿日:

オプショナルバインディング

型の存在の有無を冗長な書き方にしないためのif-let構文。
if letで指定したOptional型の変数がnilでなければ、構文の中でアンラップ済みの変数を使えるようにする。
ダウンキャストもif letで対応できる。

guard,guard-let

ある関数のスコープ内で、guardで指定した条件が満たされることを保証する。
関数の先頭で引数に対してguardを定義することで引数の前提条件を書いたりする。
if-letのguard版(guard-let)もある。

nil可能な引数を取る加算関数をif,guard両方で書くと以下。
guardで書いた方が見通しがよくなる。

for-in,for-case

for-inで要素の全てにアクセスする。for-caseで条件を満たす要素にアクセスする。
foreachで回す先頭で条件でスキップする奴はfor-caseで書ける。

fallthrough

switch文の各caseの終わりでfallthroughを書いたときに初めて後ろのcaseが実行される。
fallthroughを書かないと条件にマッチしたcaseした実行されない。
なので、switch-caseの各caseの末尾にbreakを書く必要はない。

遅延実行

関数の評価時ではなく、関数のスコープから抜けたときに実行する文を記述する。
以下、関数評価時にはgは0だが、関数がスコープから抜けたときにdeferが評価されgが1になる。

-swift
-

Copyright© ikuty.com , 2018 AllRights Reserved Powered by AFFINGER4.