【学習12日目】関数

3.3 関数
関数命名の慣例 スネークケース
全文字を小文字にし、単語区切りにアンダースコアを使うこと
Snake case - Wikipedia

Rust, for variable names, function names, method names, module names, and macros.

その他
Camel Case vs. Snake Case vs. Pascal Case — Naming Conventions | Khalil Stemmler
スネークケースとは - 意味をわかりやすく - IT用語辞典 e-Words

定数は UPPER_SNAKE_CASE

波かっこ {
} が、コンパイラに関数本体の開始と終了の位置を伝えます。

おお、そうか。

コンパイラは、関数がどこで定義されているかは気にしません。
どこかで定義されていることのみ気にします。

↑これは知らんかった…。すげえ
確かに、順に読んで順に実行するシェルスクリプトとは違って、「コンパイル」するということは内容が一旦全部内蔵されるわけだ(だよね。)
※でも main 関数がプログラムへのエントリーポイント(訳注:スタート地点)になります。ことには変わりなし。

3.3.1 関数の引数
関数は、引数(ひきすう)を持つようにも定義できます。
まあ、今の段階では引数をコードの中に「書く」意義は分からない。

関数シグニチャにおいて、各仮引数の型を宣言しなければなりません。
関数実行の引数は値のみ記述し、関数本体で方を宣言する

fn main() {
sub_function(5); //ここで呼び出している
}

fn sub_function(x: i32) { //ここ(関数本体)で引数で書かれるべきデータ型を定義している。引数が"x"に入る。
println!("The value of x is: {}", x);
}

これもやはり上下段の関数の登場順番を入れ替えてもちゃんと動く。
呼び出す側の関数と呼び出される側の関数の記述順がどうでもいいというのは、
いまだに実感が無いが。
コードがコンパイルされてバイナリになると、順番とか時間がなくなってしまうような感覚だ。