if (Expresión booleana){

If

Como ya has visto en el primer ejemplo, la palabra clave If delante de una expresión booleana, nos permite detectar si se cumple una condición.


if (Expresión booleana){

   el código contenido aquí se ejecuta solo si la Expresión booleana devuelve true 

}


El flujo del programa con un if puede tomar un camino alternativo. Fíjate en la palabra “puede” porque no es obligatorio. Si la condición no se cumple, el programa continuará sin entrar en ese bloque.

Inicio del programa

pub fn main() void { …

const n_a = 2 + 1;

if (n_a > 2) {

 print("n_a es mayor de 2", .{});

}

   

…}

Final del programa

fig. flujo lineal

Vamos a usar If otra vez, a diferencia del ejemplo anterior, aquí menos es mejor que más:  imaginemos que un récord de velocidad fue superado por el jugador. Solo en ese caso mostramos una felicitación.

better_time.zig

const std = @import("std");

const print = std.debug.print;

pub fn main() void {

    const n_time_record = 10.0;

    const n_time = 9.8;

    if (n_time < n_time_record) {

        print("¡Felicidades! Con tu tiempo: {}, Has superado el récord anterior ({}).\n", .{ n_time, n_time_record });

    }

 

}

$ zig run better_time.zig

¡Felicidades! Con tu tiempo: 9.8 Has superado el récord anterior (10).

Aquí la condición es:

 n_time < n_time_record

Si la condición se cumple - es decir si el segundo tiempo es más bajo que el primero - el programa ejecuta el bloque de código entre las llaves { }. Si no se cumple no mostramos nada.

        …pero  ¿qué sucede si queremos ejecutar un bloque de código sólo cuando la condición no se cumple?

Decisiones
If / Else
© 2025 Zen of Zig