Lendo a Entrada do Usuário
Parte da seção Fundamentos do Journey de Rust da Coddy. Lição 30 de 75.
Até agora, temos criado programas nos quais escrevemos valores diretamente no nosso código. Mas programas reais frequentemente precisam interagir com os usuários e obter informações deles.
No Rust, a obtenção de entrada de um usuário é feita usando a biblioteca std::io. Essa 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, primeiro você 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 uma etapa adicional 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 à entrada deles. Por exemplo, se alguém digita "25" e pressiona Enter, a entrada real é "25\n". O .trim() remove esses caracteres de espaço em branco extras (espaços, novas linhas etc.) do início e do fim da entrada.
Não se preocupe muito com unwrap() por enquanto — aprenderemos sobre isso mais tarde. Basta saber que ele nos ajuda a lidar com possíveis erros de uma maneira simples (embora não ideal).
Desafio
InicianteEscreva um programa que obtenha uma entrada do usuário (o nome dele) e, em seguida, exiba Hello, seguido pelo nome informado pelo usuário e um ponto de exclamação.
Por exemplo, se o usuário inserir Bob, a saída esperada será Hello, Bob!.
Você precisará:
- Criar um objeto
Stringpara ler a entrada. - Solicitar que o usuário informe o nome dele: "
Enter your name:" - Ler o nome do usuário usando o método apropriado de
std::io. - Imprimir
Hello,seguido pelo nome armazenado e um ponto de exclamação!no final.
Experimente você mesmo
use std::io;
fn main() {
// Crie um objeto String
let mut name = String::new();
// Solicite ao usuário que digite seu nome (use println)
// Leia o nome do usuário
// Imprima 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 Fundamentos
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