En el lenguaje de programación Zig, declarar una función es un proceso fundamental para crear bloques de código reutilizables y organizados. Una función en Zig se declara utilizando la palabra clave fn
seguida del nombre de la función y los parámetros entre paréntesis. A continuación, se describe la sintaxis general y se proporcionan ejemplos detallados.
Declaración básica de una función
La sintaxis básica para declarar una función en Zig es la siguiente:
La palabra clave fn
indica que se está definiendo una función. Luego se especifica el nombre de la función, seguido de una lista de parámetros entre paréntesis. Los parámetros se definen con su tipo y nombre. Después de los parámetros, se coloca un punto y coma (;
) si la función no devuelve ningún valor, o se especifica el tipo de retorno si la función devuelve un valor.
Un ejemplo básico de declaración de función sería:
fn suma(a: i32, b: i32) i32 { return a + b; }
En este ejemplo, suma
es el nombre de la función, a
y b
son los parámetros de tipo i32
(enteros de 32 bits), y la función devuelve un valor de tipo i32
, que es la suma de a
y b
.
Parámetros y tipos de retorno
A continuación, se presentan los diferentes aspectos relacionados con los parámetros y los tipos de retorno en las funciones de Zig:
- Parámetros: Los parámetros se definen con su tipo y nombre. Pueden ser de cualquier tipo soportado por Zig, incluyendo tipos básicos como
i32
,f64
,bool
, así como tipos complejos como arrays, structs, etc. - Tipos de retorno: Una función puede devolver un valor o no. Si no devuelve ningún valor, se coloca un punto y coma (
;
) después de los parámetros. Si devuelve un valor, se especifica el tipo de retorno. - Valor de retorno por defecto: Si una función no tiene una sentencia de retorno explícita, entonces se considera que devuelve
void
(o equivalente a no devolver valor).
Ejemplos adicionales
A continuación, se presentan ejemplos adicionales que ilustran diferentes aspectos de la declaración de funciones en Zig:
// Ejemplo de función sin parámetros y sin valor de retorno fn saludar() void { std.debug.print("Hola, mundo!\n", .{}); } // Ejemplo de función con parámetros y valor de retorno fn multiplicar(a: f64, b: f64) f64 { return a * b; } // Ejemplo de función con parámetros por defecto fn saludarPersonalizado(nombre: []const u8, mensaje: []const u8 = "¡Bienvenido!") void { std.debug.print("{s} {s}\n", .{ nombre, mensaje }); }
En estos ejemplos, se demuestra cómo declarar funciones con diferentes combinaciones de parámetros y tipos de retorno, mostrando la flexibilidad y capacidad de expresión del lenguaje Zig.