「Rust筆記」修訂間的差異
跳至導覽
跳至搜尋
Tankianting(討論 | 貢獻) |
Tankianting(討論 | 貢獻) |
||
行 11: | 行 11: | ||
** 善用底層 | ** 善用底層 | ||
** cargo、trait、generic | ** cargo、trait、generic | ||
==Ch2 Rust特性簡單導覽== | |||
* rust doc產生文件 | |||
* rust編譯器 | |||
* cargo編譯管理器 | |||
** cargo clean清除編譯文件 | |||
沒有<code>;</code>結尾的視為回傳值。 | |||
<pre>fn foo(mut n :i64) -> i64{ | |||
... | |||
}</pre> | |||
<code>assert!(a == b)</code>錯誤時拋出panic | |||
* identifier後面的<code>!</code>為巨集 | |||
* <code>let x = m</code>可以這樣寫,會儘可能型別推論。 | |||
=其他= | =其他= |
於 2024年2月14日 (三) 17:26 的修訂
Programming Rust筆記
Ch1概論
- 系統程式語言有「未定義行為」。
- 使用者輸入的內容可能會導致程式漏洞。
- 編譯時消除未定義行為
- 安全,亦於使用
- 平行編譯
- 0 overhead的C++,只有必要花費,不會花費太多資源消耗
- 善用底層
- cargo、trait、generic
Ch2 Rust特性簡單導覽
- rust doc產生文件
- rust編譯器
- cargo編譯管理器
- cargo clean清除編譯文件
沒有;
結尾的視為回傳值。
fn foo(mut n :i64) -> i64{ ... }
assert!(a == b)
錯誤時拋出panic
- identifier後面的
!
為巨集 let x = m
可以這樣寫,會儘可能型別推論。
其他
型別
函數
struct
struct Aminal { species: String, name: String, weight: u64, }
資料結構
- 樹的使用函式庫 Apache License 2.0/MIT
函數
- 得到 UTF-8 字串長度的方法:UnicodeSegmentation::graphemes(參見:Stack Overflow)
- 匯入外部函式庫
變數
字串
- 獲得子字串:
a = a[..1].to_string();