Guardゲート?


いわゆる警備門。


guard文は、後続のコードを実行するかどうかをチェックし、決定します.guard文の条件文が偽である場合、このコードブロックを実行します.
if文で否定条件式で表されるのに比べて、この関数は条件式で必要な条件がより読みやすい.
if文とは異なり、elseは常にインストールする必要があります.
次の関数はnil入力をサポートします.nilと入力するとguard文はelseセクションを実行し、他の構文を実行する前に関数を返します.

guardの使い方

문법

guard " 조건 " else { 조건이 false 일 때 실행될 구문 }

使用例

// someValue 가 0이 아닐 경우에만 출력
guard someValue != 0 else { return }
print(someValue)

if文と比較


stringを受信して出力する関数を作成します.
nilと入力すると防御します.

なぜなら。

func printMessage(_ message: String?) {
	if message == nil { return }
   	print(message!) // 이미 nil 검사를 했음!
}
printMessage(string)

ドアを警備している間に。

func printMessage(_ message: String?) {
	guard message != nil else { return }
   	print(message!)
}
printMessage(string)
条件式では、関数は必要な条件で書き込まれるため、guard文の読み取り可能性はif文で否定条件式を使用してチェックするよりもはるかに優れています.

▼▼参考資料

  • Apple公式ドキュメント:言語ガイド-制御フロー