guard letとif letの違い
アイホンホホアプリとかでswift書いてて思ったので。
swiftしてると言わずと知れたguard let if letが出てくる。
func guardFunc() { guard let hoge = Int("2020") else { print("hoge is nil") return } print("\(hoge)") } guardFunc() if let hoge = Int("2020") { print("\(hoge)") }else{ print("hoge is nil") }
if let でアンラップするのに比べて、guardは単純にオプショナルをアンラップするのに使う。
if let はその後のブロックでしか使えない。単純なアンラップだけでif letを使うと無駄にネストしてしまうのでよくない。
そもそもguard 文の中では、returnとかしないといけないので、guard が出て失敗したら処理がここで止まるんだなっていうことでコードが見やすくなる。