Rust Uscita della console senza macro


Esempio

// use Write trait that contains write() function
use std::io::Write;

fn main() {
    std::io::stdout().write(b"Hello, world!\n").unwrap();
}
  • Il tratto std::io::Write è progettato per oggetti che accettano flussi di byte. In questo caso, viene acquisito un handle per l'output standard con std::io::stdout() .

  • Write::write() accetta una slice di byte ( &[u8] ), che viene creata con un letterale stringa di byte ( b"<string>" ). Write::write() restituisce un Result<usize, IoError> , che contiene il numero di byte scritti (in caso di successo) o un valore di errore (in caso di errore).

  • La chiamata a Result::unwrap() indica che è previsto che la chiamata abbia esito positivo ( Result<usize, IoError> -> usize ) e il valore viene scartato.