Rust 速習チュートリアル

Rust の関数

1. 関数 (Functions)

関数とは、呼び出されたときにのみ実行されるコードのブロックです。
関数を使用することで、コードを整理し、重複を避け(DRY原則)、プログラムをより理解しやすくすることができます。

2. 関数の作成

関数を作成するには、fnキーワードに続けて関数名、丸括弧 ()、そして波括弧 {} を記述します。

サンプルコード

fn function_name() {
  // 実行されるコード
}

3. 関数の呼び出し

関数を作成したら、それを「呼び出す(call)」ことで実行できます。
関数を呼び出すには、関数名の後に2つの丸括弧 () を記述します。

サンプルコード

// 関数の作成
fn say_hello() {
  println!("関数からこんにちは!");
}

fn main() {
  say_hello(); // 関数の呼び出し
}

4. パラメータを持つ関数

パラメータ(引数)を使用して、関数に情報を送ることができます。パラメータは丸括弧 () の中に記述します。

サンプルコード

fn greet(name: &str) {
  println!("こんにちは、{}さん!", name);
}

fn main() {
  greet("John");
}

この例では、関数は name という名前の文字列パラメータを受け取り、挨拶メッセージの中でそれをプリントします。

5. 戻り値を持つ関数

関数は値を返す(リターンする)こともできます。
関数のヘッダー(定義部分)で -> 記号を使用して、どのような型の値が返されるかを示します。
関数内部では、return キーワードを使用して値を返します。

サンプルコード

fn add(a: i32, b: i32) -> i32 {
  return a + b;
}

fn main() {
  let sum = add(3, 4);
  println!("合計は: {}", sum);
}

この関数は2つの数値を足し合わせ、その結果を返します。

5.1 暗黙の戻り値

Rustでは、return キーワードを省略することができます。関数の最終行に、セミコロンを付けずに値を記述するだけです。

サンプルコード

fn add(a: i32, b: i32) -> i32 {
  a + b
}

fn main() {
  let sum = add(3, 4);
  println!("合計は: {}", sum);
}

最終行の a + b が自動的に返されます。
どちらの例も同じ動作をします。どちらを使用するかは、プロジェクトのスタイルやエンジニアの好みによります。