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 contextoconst 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:
constdeclara valores inmutables en tiempo de compilación- Las constantes sin tipo son flexibles y tienen alta precisión
iotaaumenta 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.