Obtendo Entrada Básica do Usuário
Parte da seção Fundamentos do Journey de GO da Coddy — lição 32 de 109.
Vamos aprender como obter entrada básica do usuário em Go. Criaremos um programa simples que solicita um nome e uma idade, e depois exibe uma saudação.
Primeiro, vamos configurar variáveis para armazenar o nome e a idade do usuário:
var name string
var age intEstas variáveis armazenarão as informações que o usuário digitar. O tipo string é para texto, e int é para números inteiros.
Em seguida, vamos pedir ao usuário o seu nome:
fmt.Print("Enter your name: ")
fmt.Scan(&name)Após executar este código, o texto "Enter your name:" aparecerá na tela. O programa então esperará que o usuário digite algo e pressione Enter.
O que quer que eles digitem será armazenado na variável name. O símbolo & diz ao Go onde armazenar a entrada.
Agora, vamos pedir a idade do usuário:
fmt.Print("Enter your age: ")
fmt.Scan(&age)Semelhante ao passo anterior, "Enter your age:" aparecerá na tela, e o programa aguardará que o usuário digite um número. Este número será armazenado na variável age.
Finalmente, vamos exibir uma saudação usando as informações que coletamos:
fmt.Printf("Hello %s, you are %d years old!\n", name, age)Após a execução deste código, uma mensagem personalizada aparecerá na tela.
Por exemplo, ao executar este programa e inserir "Gopher" e "5", você verá:
Enter your name: Gopher
Enter your age: 5
Hello Gopher, you are 5 years old!Desafio
InicianteNeste desafio, você praticará como obter entrada básica do usuário em Go. Você usará a função fmt.Scanln() para ler a entrada do usuário e armazená-la em uma variável.
Sua tarefa é completar o programa que solicita ao usuário o seu nome e, em seguida, o cumprimenta.
Nota: Este desafio utiliza variáveis predefinidas em vez de entrada do usuário.
Folha de consulta
Para obter a entrada do usuário em Go, declare variáveis e use fmt.Scan():
var name string
var age int
fmt.Print("Enter your name: ")
fmt.Scan(&name)
fmt.Print("Enter your age: ")
fmt.Scan(&age)
fmt.Printf("Hello %s, you are %d years old!\n", name, age)O símbolo & diz ao Go onde armazenar a entrada. Use o tipo string para texto e int para números inteiros.
Experimente você mesmo
package main
import "fmt"
func main() {
// Declara uma variável para armazenar o nome do usuário
var name string
// Exibe um prompt para o usuário
fmt.Print("Enter your name: ")
// TODO: Use fmt.Scanln() para ler a entrada do usuário na variável 'name'
// Exibe uma saudação usando o nome inserido
fmt.Printf("Hello, %s! Nice to meet you.", name)
}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 de Comparação e Lógicos
Operadores de Comparação - Parte 1Operadores de Comparação - Parte 2Operador Lógico ANDOperador Lógico OROperador Lógico NOTFundamentos de Precedência de OperadoresRecapitulação - Fazendo Comparações7Fluxo de Controle: Loops
O Loop `for` ExplicadoLoop For - BásicoLoop For - Apenas CondiçãoA Palavra-chave `break`A Palavra-chave `continue`Loops AninhadosRecapitulação - Repetindo Ações2Variáveis e Tipos de Dados Básicos
O que é uma variávelInferência de Tipo com `:=`Inteiros (int)Números de Ponto FlutuanteBooleanosStringsValores ZeroConstantesConvenções de NomenclaturaRecapitulação - Variáveis e Tipos5Entrada/Saída Básica
Saída FormatadaVerbos de FormataçãoImprimindo TiposObtendo Entrada Básica do UsuárioRecapitulação - Entrada e Saída8Funções
Entendendo FunçõesDeclarando uma FunçãoChamando FunçõesParâmetros de FunçãoRetornando um Único ValorRetornando Múltiplos ValoresValores de Retorno NomeadosFundamentos de Escopo de FunçãoRecapitulação - Criando Código Reutilizável3Operadores Básicos
Operadores AritméticosOperador de DivisãoO Operador MóduloOperador de AtribuiçãoOperadores de Atribuição CompostaIncremento e DecrementoRecapitulação - Cálculos6Fluxo de Controle: Condicionais
A Instrução `if`A Palavra-chave `else`A Palavra-chave `else if`Sombreamento de Variáveis no `if`Inicializando VariáveisA Instrução `switch`Switch com ExpressõesSwitch sem ExpressãoA Palavra-chave `fallthrough`Recapitulação - Tomando Decisões