Resumen de Puntos Clave de Reflexión y Generación de Código
Cada punto clave de las 9 páginas de esta sección, reunido en una sola página y agrupado por la página de la que proviene.
Busca en todas las páginas de la documentación
Cada punto clave de las 9 páginas de esta sección, reunido en una sola página y agrupado por la página de la que proviene.
go generate y go fix son ganchos de generación de código de primera clase en la cadena de herramientasTypeOf requiere un valor; Kind() devuelve la categoría subyacente, no el nombre del tipoValueOf devuelve una copia, no una referencia; verifique CanSet() antes de mutar a través de la reflexiónElem() desreferencia punteros, slices, arrays, mapas y canales para acceder a los tipos subyacentesValueOf, use Elem(), luego llame a SetInt() cuando CanSet sea verdaderoTag.Get(key); los campos no exportados permanecen visibles dentro de su paquetereflect.StructField.Tagreflect.StructTag.Get y Lookup analizan pares clave:"valor"reflect.Type para su reutilizaciónjson, db, validate, yaml sin cambiar los tipos de campogo/ast y emitir "binders" sin reflexiónKindreflect.DeepEqual compara valores recursivamente pero ignora campos no exportadosswitch de Kind se despachan según reflect.Kind antes de llamar a las API específicas del tipo== funciona para tipos comparables; los slices y mapas necesitan lógica explícitacmp.Equal y go-cmp ofrecen comparaciones de prueba más seguras que DeepEqualencoding/json refleja por tipo a menos que existan métodos Marshal personalizadosscan o insertpprof a menudo muestra reflect.* bajo los manejadores de JSON y bases de datosjsoniter, easyjson y la generación de código reemplazan la reflexión con "codecs" generadossqlc y ent generan consultas; GORM sacrifica velocidad por convenienciago generate ejecuta directivas //go:generate; no es parte de go buildstringer genera String() para constantes tipadas de golang.org/x/tools// Code generated ... DO NOT EDITgo generate con go test en CI después de las actualizaciones de la cadena de herramientasgo:generate que utilizan go/packages o go/asttext/template o go/format.Source emiten salida Go idiomáticastdout o *.gen.go con la cabecera Code generatedpackagestest o "golden files"//go:fix inline marca funciones de reenvío para reescrituras automáticas en el punto de llamadainline de Go 1.26 utiliza la inserción a nivel de código fuente, no el reemplazo arbitrario de textogopls muestra diagnósticos tan pronto como se agregan las directivasreflect.Type; nunca refleje por campo en rutas críticasgo generate en CI con puertas de comparación git diff//go:fix inline para deprecaciones con "shims" de reenvíoRevisado por Chris St. John·Última actualización: 18 jul 2026