Skip to main content
Version: Zig 0.12.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.

Here, we will introduce testing. Save the below code and compile + run it with zig test file-name.zig. We will be using the expect function from the standard library, which will cause the test to fail if it's given the value false. When a test fails, the error and stack trace will be shown.

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);
}