関数の定義
パラメーターと戻り値
「関数の定義」はCoddyKit上の無料Learn Rust Codingレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn Rust Coding学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn Rust Codingコースには全4レッスンが含まれています。
関数の宣言
fnキーワード、名前、かっこ、そして波かっこで囲んだ本体を使って関数を定義します。
Rustでは、慣例として関数名にsnake_caseを使用します。
fn main() {
greet();
}
fn greet() {
println!("Hello from a function!");
}main関数
すべての実行可能なRustプログラムはfn main()から始まります。これはランタイムが最初に呼び出すエントリポイントです。
fn main() {
println!("Program starts here");
}パラメーター
関数はパラメーターを受け取れます。各パラメーターでは、コロンの後に型を宣言する必要があります。
fn main() {
print_number(7);
}
fn print_number(x: i32) {
println!("The number is {}", x);
}複数のパラメーター
複数のパラメーターはコンマで区切ります。それぞれに独自の型注釈が必要です。
fn main() {
describe("Rust", 2010);
}
fn describe(name: &str, year: i32) {
println!("{} was released in {}", name, year);
}戻り値
矢印->の後に戻り値の型を宣言します。関数はその型の値を返します。
最後の式(セミコロンなし)が戻り値になります。
fn main() {
let result = square(5);
println!("square is {}", result);
}
fn square(n: i32) -> i32 {
n * n
}returnキーワード
returnキーワードを使って、途中で戻ることもできます。ガード条件に便利です。
fn main() {
println!("{}", abs_value(-8));
}
fn abs_value(n: i32) -> i32 {
if n < 0 {
return -n;
}
n
}パラメーターと戻り値の組み合わせ
関数は一般的に入力を受け取り、出力を生成します。ここでは2つの数値を加算します。
fn main() {
let total = add(3, 4);
println!("total {}", total);
}
fn add(a: i32, b: i32) -> i32 {
a + b
}関数から関数を呼び出す
関数から別の関数を呼び出せるため、小さく再利用可能な部品を組み合わせて、より大きな処理を構築できます。
fn main() {
println!("{}", double_then_add(5));
}
fn double(n: i32) -> i32 { n * 2 }
fn double_then_add(n: i32) -> i32 {
double(n) + 1
}その他の型を返す
関数は、文字列、ブール値、タプルなど、任意の型を返せます。
fn main() {
let (sum, product) = compute(3, 4);
println!("sum {} product {}", sum, product);
}
fn compute(a: i32, b: i32) -> (i32, i32) {
(a + b, a * b)
}戻り値のない関数
矢印のない関数は、ユニット型()を返します。出力などの副作用によって処理を行います。
fn main() {
log_message("saving file");
}
fn log_message(msg: &str) {
println!("[LOG] {}", msg);
}順序は関係ない
一部の言語とは異なり、Rustではファイル内で後から定義されている関数も呼び出せます。コンパイラーは実行前にすべての関数を認識します。
fn main() {
println!("{}", helper());
}
fn helper() -> i32 {
99
}理解度チェック
Rustの関数が値を返す方法を思い出しましょう。
まとめ
Rustの関数:
fn name(params) -> ReturnType { ... }の形式で定義します。- パラメーターには明示的な型が必要です。
- 最後の式(セミコロンなし)が戻り値になります。または、途中で
returnを使用できます。 - 戻り値の型を指定しない場合は、
()を返します。
fn main() {
let area = rectangle_area(4, 6);
println!("area {}", area);
}
fn rectangle_area(w: i32, h: i32) -> i32 {
w * h
}よくある質問
「関数の定義」レッスンは無料ですか?
はい。「関数の定義」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn Rust Codingコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn Rust Codingコースには全4レッスンが含まれています。
「関数の定義」で何を学びますか?
パラメーターと戻り値 ブラウザで直接実行するハンズオンコードでLearn Rust Codingを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Learn Rust Codingを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLearn Rust Codingは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「関数の定義」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLearn Rust Codingレッスンでコードを書いて実行できますか?
はい。すべてのLearn Rust Codingレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。