If / Else

Si queremos que algo se ejecute después del if, sin tener en cuenta la condición evaluada, basta con colocarlo fuera del bloque encerrado por las llaves. En cambio, si queremos ejecutar un bloque de código sólo cuando la condición del if no se cumple - es decir cuando devuelve false - entonces es cuando tenemos que añadir un bloque  else {} a continuación.


if (Expresión booleana){

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

} else {

   el código contenido en este bloque se ejecuta si la Expresión booleana devuelve false

}


El flujo del programa con un if / else cubre los dos casos posibles:

Inicio del programa

pub fn main() void { …

const n_a = 2 + 1;

if (n_a > 3) {

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

} else {

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

}

   

 …

Final del programa

}

Después de esa bifurcación el camino del programa vuelve a unirse.

Vamos a ampliar el ejemplo anterior añadiendo un bloque else para mostrar un mensaje de ánimo en caso de que el jugador no haya conseguido batir el tiempo previo:

better_time_2.zig

const std = @import("std");

const print = std.debug.print;

pub fn main() void {

    const n_time_record = 10.0;

    const n_time = 11.0;

    if (n_time < n_time_record) {

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

    } else {

      print("Sigue intentándolo. Tu tiempo: {}, es peor que el récord anterior ({}).\n", .{ n_time, n_time_record });

    }

 

}

$ zig run better_time_2.zig

Sigue intentándolo. Tu tiempo: 11 es peor que el récord anterior (10).

Seguro que aquí te preguntarás: ¿y si quiero ejecutar un bloque de código cuando la primera condición no se cumple, pero me interesa comprobar si se cumple una segunda condición?

If
If / Else if / Else
© 2025 Zen of Zig