型推論
CoddyのRustジャーニー「Fundamentals」セクションの一部 — レッスン 12/75。
Rustでは、型推論によって、コンパイラが変数の値や使用状況に基づいてその型を自動的に推論できます。これにより、変数を宣言する際に型を明示的に指定する必要がなくなることが多く、コードがより簡潔で読みやすくなります。
例えば:
let x = 5;
// Rustはxがi32であると推論します
let y = 3.14;
// Rustはyがf64であると推論します
let message = "Hello, world!";
// Rustはmessageが&str(文字列)であると推論します
let is_true = true;
// Rustはis_trueがboolであると推論しますこれらの例では、x、y、message、およびis_trueの型を指定しませんでした。Rustコンパイラは、それらに代入された値に基づいて、自動的に型を推論しました。
型推論は便利なだけでなく、エラーの防止にも役立ちます。コンパイラは変数がどのように使用されているかを確認し、推論された型がコード全体で一貫していることを保証します。矛盾がある場合、コンパイラはエラーを生成します。
チャレンジ
初心者型推論を実演するRustプログラムを作成してください。明示的な型注釈を付けずに、以下の変数を宣言して初期化してください。
- 名前が
quantityで、値が10の変数。 - 名前が
priceで、値が99.99の変数。 - 名前が
messageで、値が"Coddy is awesome!"の変数。 - 名前が
is_availableで、値がtrueの変数。
これらの変数を宣言した後、println!() を使用してそれらの値をコンソールに出力してください。Rustが値に基づいてこれらの変数の型をどのように推論するかを確認してください。
チートシート
Rustの型推論により、コンパイラは値に基づいて変数の型を自動的に推論できるため、多くの場合、明示的な型注釈の必要がなくなります。
let x = 5; // Rustはi32を推論します
let y = 3.14; // Rustはf64を推論します
let message = "Hello, world!"; // Rustは&strを推論します
let is_true = true; // Rustはboolを推論しますコンパイラは変数の使用状況をチェックして型の整合性を確保し、競合がある場合はエラーを生成します。
自分で試してみよう
fn main() {
// ここで変数を宣言します
// 値を出力します
println!("Quantity: {}", quantity);
println!("Price: {}", price);
println!("Message: {}", message);
println!("Is available: {}", is_available);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。