前情提要
上篇介紹到Rust
的特色之一:生產力部份,每個程式語言都要有一個套件管理工具,方便管理相依套件,這篇的主角:Cargo
,如同npm
對於nodejs
,nuget
對於.net
等等,上篇安裝開發環境:rustup
時已經安裝好Cargo
了,只要使用它即可,上篇介紹Hello World
部份是手動的方式建立檔案,透過Cargo
可以建立專案,管理相依性套件,跟著筆者實作了。
內容
首先驗證一下Cargo
的版本號
1 | cargo --version |
透過Cargo建立專案
透過Cargo指令的方式建立專案,使用new關鍵字,來看一下他有哪些options可以宣告
1 | cargo new --help |
說明部份滿清楚的,只要沒有指定任何Options
,基本上cargo new
時,預設會是binary target
,類似像上篇透過rustc
指令編譯後產生的binary
檔案形式,之後進階使用時,可能才會考慮選擇其他選項,可以再透過cargo help new
來觀看完整的說明,用到時再研究了。
1 | cargo new hello_cargo |
專案結構介紹
使用cargo new
建立後的專案,結構滿簡單易懂的,包含
src
資料夾,裡面會自動產生一個main.rs
,並自動生產一個main
方法,也就是Rust
的程式入口。
1 | // src/main.rs |
Cargo.toml
,相等於package.json
,或者dotnetcore
專案檔csproj
中的ItemGroup>PackageReference
一樣宣告著這個專案的介紹以及相依套件及對應版本號
1 | # 宣告該專案的資訊 |
透過Cargo建置專案
既然透過Cargo
建立專案,也可以透過Cargo
指令來編譯專案,還記得我們上篇用什麼指令編譯嗎,先看看上篇的編譯方式
1 | rustc main.rs |
透過Cargo
指令則
1 | # 切記要進到專案資料夾 |
建置完成後的檔案會產生於target > debug > hello_cargo
,可以發現是debug路徑下,若想要用release
的方式建置,要多加release
關鍵字,產生的檔案會位於target > release
中
1 | cargo build --release |
透過Cargo執行專案
最後執行專案,上篇介紹時直接執行編譯出來的binary
檔案的方式
1 | ./main |
透過Cargo
指令則
1 | cargo run |
透過Cargo檢驗專案
最後介紹一下另外一個常用的Cargo
指令:cargo check
1 | cargo check |
常用Cargo指令
上面敘述使用到的Cargo指令們
cargo build
建置專案cargo run
其實已經包含建置專案及執行專案,意思是可以不用執行cargo build
,直接執行cargo run
也可以順便建置cargo check
單傳驗證該專案是否有錯誤
結論
Rust
官方建議使用的套件管理器介紹到此,官方也建議盡量使用cargo
指令做事情,才會享有最完整的Rust
開發體驗,因為會有完整的教學文件可以參考,正所謂生產力
這個優點,就是需要用到時有地方可以查看其用法,少走不少冤望路,開發起來就很順了,這篇就到這,下篇繼續。
參考