這次是使用Rust來進行遊戲製作,所以來快速的學習一下Rust的語言特性。
基本上Rust的安裝與學習官方都有很完整的文件可以照著學習,也有線上的Playground可以線上免安裝執行程式。
推薦可以閱讀官方的教學文件,再透過線上的Playground實際練習。
The Rust Programming Language
The Rust Programming Language(繁體中文)
Rust By Example
Rust By Example(簡體中文)
等熟悉語法後會在refactoring.guru上面透過DESIGN PATTERNS in Rust學習Design Patterns,然後是ECS架構(Entity Component System)後面才會開始透過Bevy doc開始學習怎麼利用遊戲引擎開發遊戲。
這邊會簡單紀錄我自己看到比較特別的特性
// 宣告有分可改變mutable和不可改變
// 不可改變變數
let a = 1;
// 可改變變數
let mut a = 1;
// 可以宣告變數類型
let a :i8 = -1;
Rust 整數類型有8, 16, 32, 64, 128位元大小,如果沒有指定則會是32位元,而前面如果是i則是帶正負號u則是無正負號。
let a = 1; // 32位元長度
let a: i8 = -1; // 8位元長度帶正負號
let a: u16 = 1; // 16位元長度不帶號
浮點數有f32
, f64
兩種長度,皆為帶號變數
let a = 2.0; // 預設為f64
let a: u32 = -2.0; // 32位元長度
Rust 和C一樣有char字元,字串與字元的差別在於單引號和雙引號
let x = 'A';
let x: char = 'A';
let x = "I'm string";
定義與宣告:
let t = (1, "string", 3.14);
let a = [1, 2, 3, 4, 5];
t = (1, "string", 3.14)
l = [1, 2, 3, 4, 5]
可變性:
大小與類型:
方法與功能:
效能:
用途: