「Rust筆記」修訂間的差異

增加 743 位元組 、 2024年7月29日 (一) 23:00
行 16: 行 16:
* cargo編譯管理器
* cargo編譯管理器
** cargo clean清除編譯文件
** cargo clean清除編譯文件
** cargo new --vcs none #不生成.gitignore
** cargo run # 直接編譯系統執行


 
* 通常不用寫return。沒有<code>;</code>結尾的視為回傳值。
沒有<code>;</code>結尾的視為回傳值。


* 函數定義示例:
* 函數定義示例:
行 29: 行 30:


* identifier後面的<code>!</code>為巨集
* identifier後面的<code>!</code>為巨集
* <code>let x = m</code>可以這樣寫,會儘可能型別推論。比較<code>let x : i64 = m</code>
* <code>let x = m</code>可以這樣寫,會儘可能型別推論。比較<code>let x : i64 = m</code>。let 表局域變數。
* 4空白是縮排標準。
* i32 u8 f32(C float) f64(C double)
* mut 指示可變變數
* assert! 一定會被執行。debug_assert!正式執行時候不會執行此assertion。
 
<pre>
#![test] // attribution,控制編譯器、code style,或檢視條件加入程式碼。
fn test_gcd(){
assert_eq!(foo(x), rhs); #檢查左右有沒有相等的assertion
}
</pre>
 
*Vec::new() // 類似Python的List
* use std::str::FromStr; 和 use std::env:呼叫外部函式庫
* rustup doc --std # 生成標準函式庫文件
* <code>for arg in env::args().skip(1)</code> 跳過第一個argument,取值跑迴圈。


=其他=
=其他=