Swiftでwhere節を使ってネストを浅くする

Swiftではオプショナル型がnilかどうかを調べる際にif-let文が使えます。

しかし、if-let文を使うとネストが深くなりがちです。

if let hoge = hoge {
    if hoge.fuga > 0 {
        // Do something
    }
}

こういった場合は、where節を使うとネストを浅くすることができます。

if let hoge = hoge where hoge.fuga > 0 {
    // Do something
}