Menu
Coddy logo textTech

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

challenge icon

Desafio

Iniciante

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

  1. Criar um objeto String para ler a entrada.
  2. Solicitar que o usuário informe o nome dele: "Enter your name:"
  3. Ler o nome do usuário usando o método apropriado de std::io.
  4. 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
    
}
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 Fundamentos

Pratique por conta própria: Compilador de Rust online