Menu
Coddy logo textTech

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 entrada

Isso 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).

challenge icon

Desafio

Iniciante

Escreva 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á:

  1. Criar um objeto String para ler a entrada.
  2. Solicitar ao usuário que insira seu nome: "Enter your name:"
  3. Ler o nome do usuário usando o método std::io apropriado.
  4. Imprimir Hello, seguido pelo nome armazenado e um ponto de exclamação ! ao final.

Folha de consulta

Para obter entrada do usuário em Rust, importe a biblioteca std::io:

use std::io;

Para ler uma entrada de string de um usuário:

let mut my_var = String::new();
io::stdin().read_line(&mut my_var).unwrap();

Para converter uma entrada de string em um número:

let age: i32 = input.trim().parse().unwrap();

O método .trim() remove caracteres de espaço em branco (incluindo quebras de linha ao pressionar Enter) da entrada.

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
    
}
quiz iconTeste seus conhecimentos

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