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;
}
};
}