функции 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, тебе правильно сказали
Обсуждают сегодня