¿Qué son las etiquetas de struct?
Añada metadatos a los campos
¿Qué son las etiquetas de struct? 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é son las etiquetas de struct
Una etiqueta de struct es una cadena de metadatos asociada a un campo de un struct. No afecta al valor del campo, pero contiene instrucciones para las bibliotecas que la leen.
Sintaxis de las etiquetas
Las etiquetas aparecen después del tipo del campo, entre comillas de cadena sin formato. Cada etiqueta es un par key:\"value\". Los pares múltiples se separan con espacios.
Una etiqueta habitual tiene este aspecto: json:\"name\".
Un struct con etiquetas
Aquí, un campo tiene una etiqueta json que indica a los codificadores que usen el nombre de clave en minúsculas.
package main
import "fmt"
type User struct {
Name string "json:\"name\""
}
func main() {
u := User{Name: "Ann"}
fmt.Println(u.Name)
}Las etiquetas son solo metadatos
Las etiquetas no cambian la forma en que el código usa el campo. u.Name sigue funcionando con normalidad. Las etiquetas solo importan para las bibliotecas que las inspeccionan mediante reflexión.
Varias etiquetas en un campo
Un solo campo puede contener varias claves de etiqueta, cada una utilizada por una biblioteca diferente.
package main
import "fmt"
type Product struct {
Name string "json:\"name\" db:\"product_name\""
}
func main() {
p := Product{Name: "Pen"}
fmt.Println(p.Name)
}Claves de etiqueta habituales
Entre las claves de etiqueta más utilizadas se incluyen:
json: codificación JSONxml: codificación XMLdb: asignación de columnas de base de datosvalidate: reglas de validación
Lectura de etiquetas mediante reflexión
El paquete reflect permite leer etiquetas en tiempo de ejecución. field.Tag.Get(\"json\") devuelve el valor de la clave json.
package main
import (
"fmt"
"reflect"
)
type User struct {
Name string "json:\"name\""
}
func main() {
t := reflect.TypeOf(User{})
f := t.Field(0)
fmt.Println(f.Tag.Get("json"))
}El método Tag.Get
Tag.Get(key) devuelve el valor de una clave o una cadena vacía si la clave está ausente. Tag.Lookup(key) también indica si la clave existía.
package main
import (
"fmt"
"reflect"
)
type User struct {
Name string "json:\"name\""
}
func main() {
f := reflect.TypeOf(User{}).Field(0)
val, ok := f.Tag.Lookup("json")
fmt.Println(val, ok)
}Convención de formato de las etiquetas
El formato estándar de las etiquetas es key:\"value\", sin espacios alrededor de los dos puntos. Las bibliotecas esperan esta convención. Las etiquetas con un formato incorrecto pueden ignorarse silenciosamente.
Por qué usar etiquetas
Las etiquetas permiten mantener las reglas de asignación junto a los campos que describen, en lugar de colocarlas en una configuración independiente. Un struct puede servir para la salida JSON, las filas de una base de datos y la validación, todo ello controlado mediante etiquetas.
Etiquetas en campos no exportados
Las etiquetas de los campos no exportados (en minúsculas) son visibles mediante reflexión, pero la mayoría de los codificadores omiten por completo los campos no exportados. Mantenga exportados (con inicial mayúscula) los campos que quiera serializar.
Comprobación rápida
¿Cuál es la finalidad de una etiqueta de struct?
Resumen
Etiquetas de struct:
- Metadatos asociados a campos con el formato
key:\"value\" - No afectan al código normal; se leen mediante reflexión
- Las usan json, xml, db, validate y muchas otras bibliotecas
Preguntas frecuentes
¿La lección «¿Qué son las etiquetas de struct?» es gratis?
Sí — el texto completo de «¿Qué son las etiquetas de struct?» 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 «¿Qué son las etiquetas de struct?»?
Añada metadatos a los campos 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 «¿Qué son las etiquetas de struct?»?
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
- ¿Qué son las etiquetas de struct?
- Etiquetas JSON
- Bibliotecas de validación
- Análisis personalizado de etiquetas