Skip to main content
Version: Zig 0.13.0

If Expressions

Zig's if statements accept bool values (i.e. true or false). Unlike languages like C or JavaScript, there are no values that implicitly coerce to bool values.

Ternary conditional operators (cond ? a : b) do not exist in zig.

const expect = @import("std").testing.expect;

test "if statement" {
const a = true;
var x: u16 = 0;
if (a) {
x += 1;
} else {
x += 2;
}
try expect(x == 1);
}

If statements also work as expressions.

const expect = @import("std").testing.expect;

test "if statement expression" {
const a = true;
var x: u16 = 0;
x += if (a) 1 else 2;
try expect(x == 1);
}