Dev Study
← 解説「基本型と型推論」に戻る

サンプルコードで身につける: 基本型と型推論

解説で学んだ概念を、5つの具体例で確認します。素朴な例から実務寄りの例へと進みます。

1整数リテラルは i32 に推論される

型注釈を書かない整数は既定で i32 になり、i32 に収まらない大きな値だけ i64 などを明示する、という基本を示す例です。数値リテラルは 10_000_000_000 のようにアンダースコアで区切ると桁が読みやすくなります。ID やタイムスタンプなど大きな整数を扱うときに型の明示が必要になります。

Rust

2整数の割り算と f64 の割り算

同じ「7 ÷ 2」でも、整数同士なら 3(切り捨て)、f64 同士なら 3.5 になることを確かめる例です。Rust では割り算の挙動が型で決まるため、「いつの間にか小数が消えていた」事故が型を見れば分かります。平均値や割合の計算で整数除算にしてしまうのは実務でも定番のミスです。

Rust

3bool と char — 真偽値と1文字

数値以外の基本型である bool と char を使う例です。char はシングルクォートで囲んだ「1文字」で、ASCII に限らず日本語や絵文字も1つの char になります。bool はこのあと学ぶ条件分岐の主役になる型なので、true / false を変数に持てることをここで確認しておきます。

Rust

4as による明示的な型変換

i32 と f64 をそのまま計算できないので as で型を揃える、という Rust の約束事を示す例です。後半は i64 の 300 を u8(最大255)に変換すると値が壊れる様子で、as が「安全とは限らない変換」であることも体感できます。集計値の平均を出す処理などで as は日常的に登場します。

Rust

5応答時間の平均をミリ秒で計算する

API の応答時間のような「負にならない大きめの整数」を u64 で持ち、平均だけ f64 で出す実務寄りの例です。合計や件数は整数で正確に持ち、割り算の瞬間だけ as f64 に変換するのが定石です。「データは整数、統計量は浮動小数点」という型の使い分けはログ集計や計測処理でそのまま使えます。

Rust