LINUX.ORG.RU

История изменений

Исправление mersinvald, (текущая версия) :

Ну и тут пример конкретно обработки ошибок, причем обоих вариантов. Вот эквивалентный твоему го-коду пример на Rust:

loop {
    if let Ok(_) = TcpStream::connect("google.com:80") {
        println!("connected");
        break;
    }
    println!("failed: {:?}", e);
    thread::sleep(Duration::from_secs(1));
}

В отличии от Go чтобы передать ошибку выше, а не обрабатывать на месте, есть оператор и не надо писеть if err == nil

Исходная версия mersinvald, :

Ну и тут пример конкретно обработки ошибок, причем обоих вариантов. Вот эквивалентный пример на Rust:

loop {
    if let Ok(_) = TcpStream::connect("google.com:80") {
        println!("connected");
        break;
    }
    println!("failed: {:?}", e);
    thread::sleep(Duration::from_secs(1));
}

В отличии от Go чтобы передать ошибку выше, а не обрабатывать на месте, есть оператор и не надо писеть if err == nil