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.
2 collapsed lines
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);}