функции do() возвращает Result<O, I>
В Swift есть такая конструкция:
guard let foo = do() else {
return
}
То есть если у нас грубо говоря вернулся из Result Err, то мы переходим в else блок, если нет, то у нас Ok биндится в переменную foo.
let foo = do()?;
if let Ok(foo) = do() { } else { }
Вот тут подробнее: https://doc.rust-lang.org/book/ch09-02-recoverable-errors-with-result.html#a-shortcut-for-propagating-errors-the--operator
if let, тебе правильно сказали
Обсуждают сегодня