Zig Academy · レッスン

型推論と明示的な型指定

Zigに推論させる方法と、自分で型注釈を付ける方法を学びます。

レッスン 3/413 ステップ

「型推論と明示的な型指定」はCoddyKit上の無料Zig Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはZig Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Zig Academyコースには全4レッスンが含まれています。

型を指定する2つの方法

値をバインドするとき、Zigに型を判断させることも、型を明示的に書くこともできます。どちらも、Zigの強力な静的typeシステムに基づいています。

値が明確なら推論に任せる

値から型が明らかな場合は、Zigにinferさせましょう。const name = "Ada"ならテキストだと明らかなので、注釈は必要ありません。

const name = "Ada";

明示的に注釈する

自分で型を指定するには、名前の後にcolonと型を書きます。これにより、整数のビット幅を正確に指定できます。

const age: u8 = 30;

整数型のデフォルト

推論された整数リテラルは、使用されるまでcomptime_intになります。値が格納先に入ると、Zigが必要な幅へ暗黙的に変換します。

const small = 7; // comptime_int

注釈が必要な場合

値だけでは不十分なこともあります。0から始まるvarには、u8なのかi64なのかをZigが判断できるよう、明示的な型が必要です。

var counter: u32 = 0;

浮動小数点数にも注意が必要

単独の3.14はcomptime_floatです。精度やメモリサイズが重要な場合は、注釈してf32またはf64を選びます。

const ratio: f32 = 3.14;

推論は可読性を高める

文脈から型が明らかな場合は、型を省くことで行をcleanに保てます。実際に明確さが増す場合や必要な場合だけ注釈しましょう。

型に合わせて暗黙変換される

u16の格納先に5を代入すると、リテラルは問題なく収まります。可能な場合、Zigは安全に宣言された型へcoercionを行います。

const n: u16 = 5;

境界では明示する

関数のシグネチャやデータ構造では、型が常にexplicitです。推論は局所的な利便性であり、宣言を省略する方法ではありません。

fn area(w: u32, h: u32) u32 {}

予想外の変換はない

Zigが浮動小数点数を整数に黙って変換することはありません。型が一致しなければerrorになり、数値の動作を予測しやすく保てます。

シンプルな習慣

値から型が明らかな場合は推論に任せ、型が読み手に必要なinformationである場合は注釈しましょう。選択の基準は明確さです。

クイックチェック

var counter = 0;と書いたところ、Zigがエラーを報告しました。なぜ追加の情報を求められるのでしょうか。

まとめ

Zigは、明確な値から型をinferできること、またはcolonを使って型を注釈できることを学びました。どちらを使うかは、明確さと必要性に応じて決めましょう。🎯

無料で開始

AI チューターと学ぶ Zig — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「型推論と明示的な型指定」レッスンは無料ですか?

はい。「型推論と明示的な型指定」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Zig Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Zig Academyコースには全4レッスンが含まれています。

「型推論と明示的な型指定」で何を学びますか?

Zigに推論させる方法と、自分で型注釈を付ける方法を学びます。 ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Zig Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのZig Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「型推論と明示的な型指定」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このZig Academyレッスンでコードを書いて実行できますか?

はい。すべてのZig Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 決して変わらない値にはconstを使う
  2. 可変状態にはvarを使う
  3. 型推論と明示的な型指定
  4. undefinedと未初期化メモリ
← Zig Academyに戻る