Builtins de introspección

Builtins de introspección

A lo largo del libro hemos usado ya la función @TypeOf . Ya sabes que @ quiere decir que son las  funciones builtin, es decir, funciones integradas en el lenguaje. Al principio hemos usado también  @sizeOf(T) para inspeccionar el tamaño de un tipo.

Puedes encontrar información detallada sobre todas las funciones builtin en esta url:  https://ziglang.org/documentation/master/#Builtin-Functions. 

Algunas builtin que nos resultan especialmente útiles para manejar tipos y crear genéricos son:

@TypeOf (dato)

Devuelve el tipo de un dato

@typeInfo (T)

Devuelve información estructurada de un tipo

@hasField (T, “campo”)

Devuelve booleano si el struct (tipo)  tiene el campo

@typeName (T)

Devuelve una cadena con el nombre del tipo

@compileError (s_msg)

Provoca un error en tiempo de compilación

@field (T, “campo”)

Acceso a los campos para leer o modificar

Todas estas funciones para inspeccionar los tipos son de tiempo de compilación.

Genéricos
anytype y T: type
© 2025 Zen of Zig