Inferencia de tipos con `:=`
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 6 de 109.
Exploremos una forma conveniente de crear e inicializar valores en Go usando el atajo :=. Esto se llama inferencia de tipos, donde Go determina automáticamente qué tipo deben tener tus datos.
Para crear un mensaje de texto, usa :=:
message := "Hello, Go!"
fmt.Println(message)Después de ejecutar este código, verás Hello, Go! impreso en la consola. Go supo automáticamente que message debería ser un tipo string.
Vamos a crear un número usando :=:
age := 25
fmt.Println(age)Esto imprime 25 en la consola. Go convirtió automáticamente age en un tipo entero.
Vamos a crear un número decimal:
price := 19.99
fmt.Println(price)Esto imprime 19.99 en la consola. Go convirtió automáticamente price en un tipo de punto flotante.
Desafío
PrincipianteEn este desafío, practicarás el uso del operador := para la inferencia de tipos en Go.
El programa ya tiene algunas variables declaradas usando la palabra clave var con tipos explícitos. Tu tarea es declarar dos nuevas variables usando la sintaxis abreviada := que permite a Go inferir los tipos automáticamente.
Completa los TODOs en el código para que el programa imprima los valores correctos.
Hoja de referencia
Usa el atajo := para la inferencia de tipos en Go, donde Go determina automáticamente el tipo de la variable:
Creando una variable de cadena (string):
message := "Hello, Go!"
fmt.Println(message)Creando una variable entera:
age := 25
fmt.Println(age)Creando una variable de punto flotante:
price := 19.99
fmt.Println(price)Pruébalo tú mismo
package main
import "fmt"
func main() {
// Variables declaradas con tipos explícitos
var name string = "Gopher"
var age int = 5
// TODO: Declara una variable llamada 'language' con el valor "Go" usando la sintaxis :=
language ? "Go"
// TODO: Declara una variable llamada 'version' con el valor 1.18 usando la sintaxis :=
version ? 1.18
// Imprime todas las variables
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("Language:", language)
fmt.Println("Version:", version)
}
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