← SEARCHABLE ARCHIVE
Rust · 2026-07-19

Rust 基礎からマスターまで — 第2回

変数、型、関数、パターンマッチングの習得

INTERACTIVE READING MODE →

本ブログ作成文は、講義を目指して製作されました。 また、作成された文章の情報も間違っている可能性がありますので、ご注意ください。

Rustは変数の型と値が有効な範囲をコンパイル段階で確認します。 基本文法から式とパターンマッチングを一緒に理解すれば、以降の所有権コードも読みやすくなる。

変数と型

let level: u32 = 10;
let speed = 4.5_f32;
let alive = true;

let mut health = 100;
health -= 20;

変数はデフォルトで変更できず、mutを付けなければ値を変更できません。 不変がデフォルトの場合、どのコードが状態を変更するのかを見つけるのは簡単です。

整数タイプはサイズと符号が決まっている。 他の数値型に置き換えるときは、asや変換関数を使って意図を明らかにしなければならない。

式

let state = if health <= 0 {
    "Dead"
} else if health < 30 {
    "Danger"
} else {
    "Normal"
};

Rustのifは、値を返す式として使用できます。 各分岐が返すタイプは互いに等しくなければなりません。

セミコロンがない場合、ブロックの最後の式が戻り値になります。 セミコロンを付けると値のないユニットタイプになる。

matchと繰り返し

let reward = match rank {
    'S' => 1000,
    'A' => 500,
    _ => 100,
};

let mut total = 0;
for damage in [10, 20, 15] {
    total += damage;
}

matchは、可能な場合を欠かさないようにチェックします。 _は、前に処理していない残りのパターンです。

機能

fn calculate_damage(attack: i32, defense: i32) -> i32 {
    (attack - defense).max(1)
}

パラメータと戻り型は明示され、最後の式が結果になります。 関数は単にコードを減らすツールではなく、入力、出力、責任の境界を作るツールです。