こんにちは!Rust入門シリーズの第3回へようこそ。
前回は、Rustの開発環境を構築し、「Hello, world!」を実行するところまで一緒に体験しました。
今回は、プログラミングの基礎となる「変数」「関数」「データ型」について、Rustではどう書くのか、初心者にもわかりやすく丁寧に解説していきます。
💡 本記事は「Rust 初心者」「Rust 変数とは」「Rust 関数の書き方」「Rust 型一覧」といったキーワードを中心に構成しています。検索でこの記事にたどり着いた方も、ゼロから理解できるように書いています。
🧠 Rustの基本構文とは?
Rustはモダンな構文と高い安全性が特徴の言語で、基本構文の学習を通じて、安全でエラーの少ないコードを書く力が身につきます。
この回では、以下の基礎要素にフォーカスします:
- 変数の宣言と再代入(
let,mut) - よく使うデータ型の種類と使い方
- 関数の定義と引数・戻り値
📌 Rustの変数の使い方
Rustにおける変数は、基本的に「一度代入したら変更できない」というルールになっています。これは予期せぬバグを防ぐための設計です。
変数の宣言(let)
このように let を使って変数を定義します。型は自動で推論されます。
可変変数(mutable)
変更可能な変数を作るには mut を使います:
シャドーイング(再宣言)
Rustでは同じ名前の変数を再定義して「上書き」できます。
🔍 シャドーイングとmutの違い:
mutは同じ変数を再代入、シャドーイングは新しい変数として扱います。
🧪 Rustのデータ型一覧と使い方
Rustは静的型付けの言語です。すべての変数には型があり、コンパイル時にチェックされます。
主な基本型一覧
| 型名 | 説明 | 使用例 |
|---|---|---|
i32 | 32ビット整数(標準) | let a: i32 = 10; |
f64 | 64ビット浮動小数(標準) | let b: f64 = 3.14; |
bool | 真偽値(true/false) | let flag = true; |
char | 1文字(Unicode対応) | let c = 'R'; |
String | 可変長の文字列 | let name = String::from("Rust"); |
型注釈が必要なケース
📝
parse()を使うときなど、Rustでは型を明示しないと型推論ができないことがあります。
型安全とは?
Rustでは型をしっかり定義することで、型の不一致エラーをコンパイル時に防げるため、実行時エラーの少ない堅牢なコードが書けます。
🧮 関数の定義と呼び出し(fn)
Rustの関数は fn キーワードで定義します。
基本的な関数の書き方
- 引数の型は明示的に指定
&strは文字列スライス型(軽量な文字列参照)
戻り値のある関数
✅
returnを使わなくても、最後の式の値が戻り値になります。ただし;をつけないよう注意!
例:複数の関数を組み合わせる
🙋 よくあるエラーと対処法
❌ セミコロンのミス
❌ 型不一致
エラーメッセージは非常に親切なので、落ち着いて読むことが大切です。
📝 まとめ:Rustの基本構文をしっかり理解しよう
この記事では、Rustの基本である「変数の扱い方」「型の考え方」「関数の使い方」を学びました。
letとmutで変数の宣言と可変性を制御- Rustの型システムは安全かつ高機能
- 関数の定義・引数・戻り値の扱いは非常に直感的
Rustを学ぶうえで、これらはすべての基礎になります。 この基本を理解することで、後の「制御構文」「所有権」「エラーハンドリング」などにもスムーズに進めます。
次回は、**条件分岐(if文・match)やループ処理(for / while)**といった、プログラムの流れを制御する文法について詳しく解説します!