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.

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

Pratique por conta própria: Compilador de Rust online