0Pricing
Go Academy · Lección

Constantes e iota

Definición de constantes y uso de iota para enumeraciones

Constantes e iota es una lección gratuita de Go Academy en CoddyKit. Esta es la lección 3 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é son las constantes?

Una constante almacena un valor que nunca cambia en tiempo de ejecución.

  • Se declara con const
  • Debe poder calcularse en tiempo de compilación
  • Puede tener tipo o no tenerlo
  • Se permiten literales de cadena, booleanos, numéricos y rune

Constantes con tipo frente a constantes sin tipo

Las constantes sin tipo tienen mayor precisión y son más flexibles:

  • const Pi = 3.14159: float sin tipo que se adapta al contexto
  • const Pi float64 = 3.14159: float64 con tipo
  • Las constantes enteras sin tipo pueden usarse con cualquier tipo entero

Expresiones constantes

Las constantes se pueden calcular a partir de otras constantes en tiempo de compilación:

const (
    KB = 1024
    MB = 1024 * KB
    GB = 1024 * MB
)

iota: valores con incremento automático

iota es un contador integrado que se restablece a 0 en cada bloque const y aumenta en 1 para cada constante del bloque.

const (
    Sunday = iota  // 0
    Monday          // 1
    Tuesday         // 2
    Wednesday       // 3
)

iota con expresiones

Combine iota con expresiones para crear enumeraciones potentes:

const (
    _  = iota             // skip 0
    KB = 1 << (10 * iota) // 1024
    MB                     // 1048576
    GB                     // 1073741824
)

Constantes de cadena

Las constantes de cadena son valores de cadena inmutables conocidos en tiempo de compilación:

const (
    AppName    = "GoApp"
    AppVersion = "1.0.0"
    Greeting   = "Hello, " + AppName
)

Constantes booleanas

true y false son constantes booleanas predeclaradas sin tipo en Go. Puede definir sus propias constantes con tipo booleano para los feature flags:

const (
    EnableMetrics = true
    DebugMode     = false
)

Constantes frente a variables

Diferencias clave:

  • Las constantes son inmutables: asignarles un valor después de declararlas provoca un error de compilación
  • Las constantes no pueden usar expresiones no constantes (por ejemplo, llamadas a funciones)
  • Las constantes son más eficientes: el compilador puede insertarlas directamente en el código
  • Use constantes para los números mágicos con el fin de mejorar la legibilidad

Tipos enumerados con iota

Cree enumeraciones con seguridad de tipos combinando un tipo definido con iota:

type Direction int

const (
    North Direction = iota
    East
    South
    West
)

Stringer para mejorar la legibilidad de los enumerados

Implemente la interfaz Stringer en su tipo enumerado para que imprima nombres legibles para las personas en lugar de enteros sin procesar. La herramienta stringer puede generar automáticamente este código.

Patrón de máscara de bits con iota

iota con desplazamientos de bits crea conjuntos de indicadores:

type Permission uint

const (
    Read    Permission = 1 << iota // 1
    Write                          // 2
    Execute                        // 4
)

func main() {
    access := Read | Write // 3
    _ = access
}

Comprobación rápida

¿Con qué valor comienza iota en cada nuevo bloque const?

Repaso: constantes e iota

Ahora comprende las constantes de Go:

  • const declara valores inmutables en tiempo de compilación
  • Las constantes sin tipo son flexibles y tienen alta precisión
  • iota aumenta automáticamente dentro de un bloque const, comenzando en 0
  • Combine iota con expresiones para tamaños de archivos, indicadores de bits y enumeraciones
  • Cree enumeraciones con seguridad de tipos mediante un tipo definido + iota

Siguiente: conversiones de tipos explícitas y alias de tipos.

Preguntas frecuentes

¿La lección «Constantes e iota» es gratis?

Sí — el texto completo de «Constantes e iota» 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 «Constantes e iota»?

Definición de constantes y uso de iota para enumeraciones 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 3 de 4.

¿Cuánto tiempo toma la lección «Constantes e iota»?

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