If / else que devuelven valores

If / else que devuelven valores

        En Zig, un bloque  if/else puede devolver un valor para asignarlo a una variable o constante. Eso sí - debe usarse en forma de expresión simple, sin llaves {} para la definición de los bloques:

if_else_return.zig

const std = @import("std");

const print = std.debug.print;

pub fn main() void {

   const n_age = 18;

   const s_response = if (n_age < 18) "Menor de edad" else "Mayor de edad";

   print("Eres {s}\n", .{s_response});

}

$ zig run if_else_return.zig

Eres Mayor de edad

Cuando devolvemos un valor desde un if/else, resulta muy útil para asignar un valor en función de una condición de manera compacta.

En este ejemplo, el valor asignado a s_response se decide según la condición y queda como una constante inmutable. Inmutable quiere decir que no se puede cambiar y es una buena práctica de programación: muchas veces, el hecho de no poder cambiar el valor de un identificador después de asignarlo nos evita bugs difíciles de detectar.

Condiciones anidadas
Bloques etiquetados
© 2025 Zen of Zig