bool、void、comptime型
小さいながらも不可欠なプリミティブ型を学びます。
「bool、void、comptime型」はCoddyKit上の無料Zig Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはZig Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Zig Academyコースには全4レッスンが含まれています。
小さいけれど重要な型
数値以外にも、Zigにはさまざまな場所で登場する小さなプリミティブ型があります。bool、void、そしてコンパイル時専用の特殊な数値型です。🧩
boolはtrueまたはfalseを保持します
boolは、trueまたはfalseの2つの値のうち、必ずどちらか一方を格納します。記述するすべてのif文やwhile条件を制御します。
const ready: bool = true;ブール値は比較から生まれます
比較演算子はブール値を生成します。5 > 3という式はtrueに評価され、そのまま格納したり判定したりできます。
const bigger = 5 > 3; // truevoidは値がないことを表します
void型は、値が存在しないことを表します。voidを返す関数は、処理が完了しても意味のある値を返しません。
fn log() void {
// does work, returns nothing
}voidが使われる場所
voidは、副作用を目的とする関数の戻り値型や、キーが存在することだけを重視するコンテナのペイロード型として使われます。
整数リテラルにはcomptime_intを使います
42のような型指定のない整数は、最初はcomptime_intです。任意精度を持ち、代入されたときに初めて固定ビット幅を持ちます。
const n = 42; // comptime_int until used小数にはcomptime_floatを使います
同様に、3.14のような型指定のない小数はcomptime_floatです。f32やf64になる前は、コンパイル時に正確に扱われます。
const ratio = 3.14; // comptime_floatComptimeの数値は柔軟です
これらの型はコンパイル時専用なので、非常に大きい値や小さい値も正確に保持できます。使用時にはビット幅を持つ型へ暗黙変換されます。
型を表すtype型
Zigでは、型そのものがtypeという型を持つ値です。これにより、ジェネリクスのために関数が型を受け取ったり返したりできます。
const T: type = i32;不明なデータにはanyopaqueを使います
anyopaque型は、構造が不明なメモリを表します。レイアウトがZigから見えないCとの境界などでよく使われます。
これらのプリミティブ型が重要な理由
これらの小さな型が一体となって、Zigの基盤を形作ります。論理にはブール値、値がない場合にはvoid、柔軟なリテラルにはcomptimeの数値を使います。
確認問題
型注釈なしでリテラル100を書きました。どこにも代入されていない時点で、Zigはこれをどの型にしますか。
まとめ
小さなプリミティブ型を覚えておきましょう。trueまたはfalseにはbool、値がない場合にはvoid、柔軟なリテラルにはcomptime_intとcomptime_floatを使います。🎯
よくある質問
「bool、void、comptime型」レッスンは無料ですか?
はい。「bool、void、comptime型」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Zig Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Zig Academyコースには全4レッスンが含まれています。
「bool、void、comptime型」で何を学びますか?
小さいながらも不可欠なプリミティブ型を学びます。 ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Zig Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのZig Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「bool、void、comptime型」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このZig Academyレッスンでコードを書いて実行できますか?
はい。すべてのZig Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- サイズ付き整数:i32、u8、usize
- 浮動小数点数:f32とf64
- bool、void、comptime型
- 数値リテラルとアンダースコア