Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Entrada de Dados

Refere-se à entrada de dados, ou seja, à sua captura, validação e processamento.

std::io

// importa o módulo io
use std::io;

fn main () {
    println!("Entrada de texto:");
    let mut input:String = String::new();
    io::stdin().read_line(&mut input).expect("Erro de entrada de dados!");
    // io::stdin().read_line(&mut input).unwrap();
}
  • unwrap() - Se ocorrer um erro, o programa trava com um panic;
  • expect() - Se ocorrer um erro, ele trava, mas com a sua mensagem personalizada.

char

use std::io;

fn main() {
    println!("Entrada do caractere:");
    let mut input = String::new();
    io::stdin()
        .read_line(&mut input)
        .expect("Erro de entrada de dados!");

    // trim() remove espaços em branco, chars() itera sobre caracteres, next() pega o primeiro
    let ch: char = input.trim().chars().next().unwrap();
    println!("{}", ch);
}

match

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();

    match input.trim().parse::<u8>() {
        Ok(input) => input,
        Err(_) => {
            println!("Erro!");
            return;
        }
    };
}
use std::io;

fn main () {
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Erro de entrada de dados!");

    let ch: u8 = match input.trim().parse() {
        Ok(n) => n,
        Err(_) => {
          println!("Erro de entrada!");
          return;
        }
    };  
}