ワンポイントアドバイス
C、C++、Java、C#を学習済みの方は、このレッスンを飛ばして構いません。理由として、Rustのコメント記法はこれらの言語とほぼ同じだからです。
コメントとは何か?
人間向けの説明文のことで、コンパイラに無視されプログラムの実行に影響しません。
コメントの役割
- コードの機能解説:閲覧者がコードを理解しやすくする
- 作成情報の記載:各種ドキュメントを自動生成する際に利用
- 一時的なコード無効化:コードを削除せず、実行させたくない場合にコメントで遮断
- コードの可読性を向上させる
Rustのコメント記法(全3種類、うち2種を先に解説)
- 一行コメント:// から行末までがコメント扱い
- ブロックコメント:複数行にまたがるコードをまとめて囲む記法
/* ... */
コメントは学校の教科書に書き込むメモのようなもので、コードの理解を助けてくれます。
まず代表的な2種類のコメントを学び、後ほど3番目の記法を紹介します。
fn main() {
// 一行コメントはスラッシュ2つから始まり、その行の最後まで続く
// // より後ろの文字はすべてコンパイラに無視される
// 例:この行のコードは実行されない
// println!("Hello, world!");
// 上記の//を削除してコードを再実行してみよう
/*
* ブロックコメントはコードを一時的に無効化するのに便利。下記を参照
* 入れ子にも対応:/* こんな風に */、大量のコードを一括コメントアウト可能
*/
/*
* println!("Hello, world!");
* println!("Hello, world2!");
*/
/*
補足:左側のアスタリスク(*)は見た目を整えるための記号で、
言語の構文上必須ではない。省略しても動作する。
*/
// ブロックコメントの開始部にスラッシュを1つ追加するだけで、
// 対象コードの有効/無効を簡単に切り替えられる:
/* <- ここにスラッシュをもう1本追加すると、下記一括コメントが解除される(/* の前に/を足して//* にするだけ、試してみよう)
println!("今");
println!("すべての");
println!("コードが実行される!");
// 内部の一行コメントには影響しない
// */
// ブロックコメントは式の途中に挟むことも可能:
let x = 5 + /* 90 + */ 5;
println!("`x` は10?それとも100?x = {}", x);
}Code language: PHP (php)
上記のコードをコピーして実際に動作を確認してみてください。特に「/* <- ここにスラッシュをもう1本追加すると、下記一括コメントが解除される」箇所を試してみましょう。
(解説:/* の前に/を追加して//* にすると、ブロックコメントの開始記号が無効になり、後方の// */ も一行コメントとして扱われる仕組み)
これにより一時的にブロックコメントが解除され、中のprintln文が実行されるようになります。

ドキュメントコメント
ドキュメントコメントは専用ツールでHTML形式の公式ドキュメントを自動生成でき、開発者が仕様を確認する際に便利です。こちらについては次回のレッスンで単独で詳しく解説します。
Previous: Hello Worldサンプル
Next: フォーマット出力