0Pricing
Go Academy · Lección

Declaración de variables en Go

var, := e inferencia de tipos

Declaración de variables en Go es una lección gratuita de Go Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Go Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Go Academy incluye 4 lecciones en total.

¿Qué es una variable?

Una variable es una ubicación de almacenamiento con nombre para un valor. En Go, cada variable tiene un tipo fijo en tiempo de compilación.

  • Go tiene tipado estático: los tipos no pueden cambiar en tiempo de ejecución
  • Las variables siempre tienen un valor cero predeterminado cuando no se establecen explícitamente
  • Es importante elegir nombres claros: Go favorece los nombres cortos y claros frente a los nombres largos

Declaración de var

La palabra clave var declara explícitamente una o más variables:

package main

func main() {
    var name string
    var age  int
    var pi   float64 = 3.14
    _ = name
    _ = age
    _ = pi
}

Declaración corta de variables :=

Dentro de las funciones, puede usar := para declarar y asignar de forma concisa en un solo paso.

  • El tipo se infiere a partir del lado derecho
  • := solo está disponible dentro del cuerpo de una función
  • Al menos una variable del lado izquierdo debe ser nueva
package main

func main() {
    city := "Ankara"   // string inferred
    count := 42         // int inferred
    temp := 36.6        // float64 inferred
    _ = city
    _ = count
    _ = temp
}

Valores cero

Go inicializa automáticamente cada variable declarada con su valor cero:

  • int, float64 → 0
  • string → "" (cadena vacía)
  • bool → false
  • Punteros, slices, mapas y canales → nil

Los valores cero eliminan los errores de variables no inicializadas habituales en C/C++.

Declaración de varias variables

Declare y asigne varias variables a la vez mediante un bloque o una forma de tupla:

package main

var (
    host = "localhost"
    port = 8080
    debug = false
)

func main() {
    x, y := 10, 20
    _ = x
    _ = y
}

Reglas de inferencia de tipos

Cuando usa :=, Go infiere el tipo a partir del literal:

  • Literales enteros → int
  • Literales de coma flotante → float64
  • Literales de cadena → string
  • Literales complejos → complex128

Si necesita un tipo específico (por ejemplo, int32), use una declaración var explícita o una conversión.

Variables a nivel de paquete frente a variables a nivel de función

Las variables pueden estar a nivel de paquete (son globales para el paquete) o a nivel de función (son locales a la función):

  • A nivel de paquete: use var; se puede acceder a ellas desde cualquier parte del paquete
  • A nivel de función: use := o var; solo son visibles dentro de la función
  • Prefiera las variables a nivel de función para mantener el estado contenido

Identificador en blanco _

El identificador en blanco _ descarta un valor que no necesita. Go exige que se use toda variable declarada; _ es la vía de escape:

package main

func divide(a, b int) (int, int) {
    return a / b, a % b
}

func main() {
    quotient, _ := divide(10, 3) // discard remainder
    _ = quotient
}

Sombreado de variables

El sombreado ocurre cuando un ámbito interno declara una variable con el mismo nombre que una variable de un ámbito externo:

  • La variable interna oculta a la externa dentro de su ámbito
  • Esto puede causar errores sutiles; hágalo de forma intencional
  • Use go vet y linters como staticcheck para detectar el sombreado accidental

Errores comunes con :=

Preste atención a estos problemas de :=:

  • Usar := a nivel de paquete → error de compilación
  • Todas las variables de la izquierda ya existen → use = en su lugar
  • Sombrear accidentalmente una variable de error externa en bloques if-err

Si tiene dudas, use var explícitamente para mayor claridad.

Comprobación rápida

¿Cuál de las siguientes opciones muestra la sintaxis correcta para una declaración corta de variables en Go?

Repaso: declaración de variables

Ahora sabe cómo declarar variables en Go:

  • var name type: declaración explícita con valor cero
  • var name = value: var con inferencia de tipos
  • name := value: declaración corta dentro de las funciones
  • Los valores cero son automáticos: no existe un estado sin inicializar
  • _ descarta los valores que no se necesitan

Siguiente: los tipos integrados de Go y sus valores cero en detalle.

Ejercicio práctico

Inténtelo: declare una variable a nivel de paquete appName de tipo string y una variable a nivel de función retries mediante :=, establecida en 3.

Recuerde: las variables a nivel de paquete usan var y := solo es válido dentro de los cuerpos de las funciones.

Preguntas frecuentes

¿La lección «Declaración de variables en Go» es gratis?

Sí — el texto completo de «Declaración de variables en Go» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Go Academy, actualiza a CoddyKit PRO. El curso de Go Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Declaración de variables en Go»?

var, := e inferencia de tipos Practicas Go Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Go Academy?

No se requiere experiencia previa. Go Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Declaración de variables en Go»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Go Academy?

Sí. Cada lección de Go Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Declaración de variables en Go
  2. Tipos integrados de Go
  3. Constantes e iota
  4. Conversiones de tipos en Go
← Volver a Go Academy