Lendo a Entrada do Usuário
Parte da seção Fundamentals do Journey de Rust da Coddy. Lição 30 de 75.
Até agora, temos criado programas onde escrevemos valores diretamente em nosso código. Mas programas reais muitas vezes precisam interagir com os usuários e obter informações deles.
Em Rust, obter entrada de um usuário é feito usando a biblioteca std::io. Esta biblioteca fornece métodos para ler diferentes tipos de entrada, como inteiros, números de ponto flutuante e strings.
Para usar a biblioteca std::io, você primeiro precisa importá-la:
use std::io;Para ler a entrada de um usuário, precisamos de duas linhas de código:
let mut my_var = String::new();
// Cria uma string vazia para armazenar a entrada
io::stdin().read_line(&mut my_var).unwrap();
// Lê a entradaIsso armazenará o valor de entrada na variável my_var como um tipo string.
Se você quiser obter um número, precisará de um passo extra para converter a entrada de texto em um número:
let age: i32 = input.trim().parse().unwrap();O .trim() é necessário porque quando os usuários pressionam Enter, um caractere de nova linha é adicionado à sua entrada. Por exemplo, se alguém digitar "25" e pressionar Enter, a entrada real é "25\n". O .trim() remove esses caracteres de espaço em branco extras (espaços, novas linhas, etc.) tanto do início quanto do fim da entrada.
Não se preocupe muito com o unwrap() por enquanto - aprenderemos sobre isso mais tarde. Apenas saiba que ele nos ajuda a lidar com erros potenciais de uma forma simples (embora não seja a ideal).
Desafio
InicianteEscreva um programa que receba a entrada do usuário (seu nome) e, em seguida, exiba Hello, seguido pelo nome inserido pelo usuário e um ponto de exclamação.
Por exemplo, se o usuário inserir Bob, a saída esperada é Hello, Bob!.
Você precisará:
- Criar um objeto
Stringpara ler a entrada. - Solicitar ao usuário que insira seu nome: "
Enter your name:" - Ler o nome do usuário usando o método
std::ioapropriado. - Imprimir
Hello,seguido pelo nome armazenado e um ponto de exclamação!ao final.
Experimente você mesmo
use std::io;
fn main() {
// Cria um objeto String
let mut name = String::new();
// Solicita ao usuário que insira seu nome (use println)
// Lê o nome do usuário
// Imprime a mensagem de saudação
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosOperadores de ComparaçãoComparação de Strings7Entrada e Saída Básica
Exibindo no ConsoleLendo a Entrada do UsuárioRevisão - Até 120Revisão - Verdadeiro ou Falso5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 33Variáveis Parte 2
Declaração de TipoConvenções de NomenclaturaInferência de TipoRecapitulação - Inicializar VariáveisConversão de Tipo9Laços
For sobre SériesLaço WhileBreakContinueLaços AninhadosRótulos de LoopLoop InfinitoRecapitulação - Entrada DinâmicaPratique por conta própria: Compilador de Rust online