Obtener entrada básica del usuario
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 32 de 109.
Aprendamos cómo obtener la entrada básica del usuario en Go. Crearemos un programa sencillo que pida un nombre y una edad, y luego muestre un saludo.
Primero, configuremos variables para almacenar el nombre y la edad del usuario:
var name string
var age intEstas variables contendrán la información que el usuario escriba. El tipo string es para texto, e int es para números enteros.
A continuación, pidamos al usuario su nombre:
fmt.Print("Enter your name: ")
fmt.Scan(&name)Después de ejecutar este código, el texto "Enter your name:" aparecerá en la pantalla. El programa esperará entonces a que el usuario escriba algo y presione Enter.
Cualquier cosa que escriban se almacenará en la variable name. El símbolo & le indica a Go dónde almacenar la entrada.
Ahora, vamos a pedir la edad del usuario:
fmt.Print("Enter your age: ")
fmt.Scan(&age)Al igual que en el paso anterior, "Enter your age:" aparecerá en la pantalla, y el programa esperará a que el usuario escriba un número. Este número se almacenará en la variable age.
Finalmente, mostremos un saludo usando la información que recolectamos:
fmt.Printf("Hello %s, you are %d years old!\n", name, age)Después de ejecutar este código, se mostrará un mensaje personalizado en la pantalla.
Por ejemplo, cuando ejecutes este programa e ingreses "Gopher" y "5", verás:
Enter your name: Gopher
Enter your age: 5
Hello Gopher, you are 5 years old!Desafío
PrincipianteEn este desafío, practicarás cómo obtener una entrada de usuario básica en Go. Utilizarás la función fmt.Scanln() para leer la entrada del usuario y almacenarla en una variable.
Tu tarea es completar el programa que le pide al usuario su nombre y luego lo saluda.
Nota: Este desafío utiliza variables predefinidas en lugar de la entrada del usuario.
Hoja de referencia
Para obtener la entrada del usuario en Go, declara variables y usa 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)El símbolo & le indica a Go dónde almacenar la entrada. Usa el tipo string para texto e int para números enteros.
Pruébalo tú mismo
package main
import "fmt"
func main() {
// Declara una variable para almacenar el nombre del usuario
var name string
// Muestra un aviso para el usuario
fmt.Print("Enter your name: ")
// TODO: Usa fmt.Scanln() para leer la entrada del usuario en la variable 'name'
// Muestra un saludo usando el nombre ingresado
fmt.Printf("Hello, %s! Nice to meet you.", name)
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparación - Parte 1Operadores de comparación - Parte 2Operador lógico ANDOperador lógico OROperador lógico NOTConceptos básicos de precedencia de operadoresResumen: Realizar comparaciones7Flujo de control: Bucles
Explicación del bucle `for`Bucle `for` - BásicoBucle `for` - Solo condiciónLa palabra clave `break`La palabra clave `continue`Bucles anidadosResumen - Repetición de acciones2Variables y tipos de datos básicos
¿Qué es una variable?Inferencia de tipos con `:=`Enteros (int)Números de punto flotanteBooleanosStringsValores ceroConstantesConvenciones de nomenclaturaResumen - Variables y tipos5Entrada y salida básica
Salida con formatoVerbos de formatoImpresión de tiposObtener entrada básica del usuarioResumen: Entrada y salida8Funciones
Comprendiendo las funcionesDeclaración de una funciónLlamada a funcionesParámetros de funciónRetorno de un solo valorRetorno de múltiples valoresValores de retorno con nombreConceptos básicos del alcance de las funcionesResumen: Creando código reutilizable3Operadores básicos
Operadores aritméticosOperador de divisiónEl operador móduloOperador de asignaciónOperadores de asignación compuestaIncremento y decrementoResumen - Cálculos6Flujo de control: Condicionales
La sentencia `if`La palabra clave `else`La palabra clave `else if`Sombreado de variables en `if`Inicialización de variablesLa sentencia `switch``switch` con expresiones`switch` sin expresiónLa palabra clave `fallthrough`Resumen: Toma de decisiones