https://zenn.dev/sprout2000/articles/2db265ba525384
↓ のようなドキュメントや記事の学習ノート。せっかちな人(筆者)向け。
1 年以内には完了したいが…
hoge!
はマクロ組込み関数みたいなものと思うことにする。JS における console.log
みたいにどこからでも呼び出せる。
return
を省略可fn make_double(num: i32) -> i32 {
let answer = num * 2;
answer
}
;
(セミコロン) を付けてはいけない。let x = 10;
x = 20; // <-- コンパイルエラー
可変とするには明示的に mut
(=ミュータブル)で宣言する。
**スタック**
- 高速
- 後入れ先出し (LIFO)
- 固定サイズのデータのみ置ける
**ヒープ**
- 低速
- 可変サイズやコンパイル時にサイズ不明なデータを置ける
スカラー値は**スタック上に**置かれる。
スカラー値とは?
- すべての整数値型、浮動小数点型: `i32`, `f64` など
- 論理値型: `bool`
- 文字型: `char`
- タプル: ただし上記の型のみで構成される場合のみ
- 👌 `(i32, i32)` *スカラー*
- 🆖 `(i32, String)` *非スカラー*