Zig 入門 #2 - if
2022-04-11 / Zig, Programming
ziglearn.org を参考に Zig
の基本を一通りさらってみます。まずは Chapter 1 - Basics | ziglearn.org から。今回はif
について。
if
参考: if
基本的な構文は以下のようになります。
if (conditionA) {
// ...
} else if (conditionB) {
// ...
} else {
// ...
}
if
、else if
の条件部分は括弧が必要で中には任意の式を利用可能です(もちろん真偽値を返す必要があります)。またif
自体も式になるので、以下のようにも記述できます。
var v = if (condition) valueA else valueB;
- 真偽値(
bool
型)はtrue
,false
のみ if
の条件として、他の値をbool
のように扱ったりしない- 式として値を返すことができる
if
は他にもオプショナルな値の unwrap(でいいのかな)やエラーハンドリングとも合わせて使用するための構文があるようです。詳しくは後で出てくると思います。
今回確認したコードは以下の通りです。
const a = true;
if (a) {
std.log.info("true", .{});
}
const b = false;
if (!b) {
std.log.info("not false", .{});
}
const i = 1;
if (i == 0) {
// unreached
} else if (i == 1) {
std.log.info("else if", .{});
} else {
// unreached
}
// if は式なので値を返すことができる
const j = if (i == 0) 10 else 20;
std.log.info("{}", .{j});