Rust編程語言學習


嘗試學習Rust很久了,但一直都是在Rust語言的大門外張望,頗有葉公好龍之意。

這一次準備參考下列書籍,認真的系統學習一遍Rust:

  • 《The Rust Programming Language》
  • 《The Rust Reference》
  • 《Rust by Example》
  • 《Learn Rust With Entirely Too Many Linked Lists》

學習過程中的一些經驗和理解會通過博客的方式進行記錄,本文爲這個系列博客的序言和目錄。

1. Rust編程語言是什麼

拋去開發歷史等周邊信息,我選擇了幾個關鍵詞來快速建立對於Rust的印象:

  1. 系統編程語言(除web與遊戲開發等領域,還可用於操作系統開發、嵌入式開發和驅動開發等領域)
  2. 高性能(無GC與零成本抽象,理論性能與C相同,部分benchmark中超過C)
  3. 可靠性(內存安全與線程安全)
  4. 生產力(出色的文檔、一流的包管理器和構建工具、豐富的第三方包、活躍且強大的社區)

百度百科描述https://baike.baidu.com/item/Rust%E8%AF%AD%E8%A8%80

官網描述https://www.rust-lang.org/zh-CN/

2. 如何安裝Rust編程語言

Rust的安裝與管理使用的是一個叫做rustup的工具,這是Rust官方提供和維護的一個強大的工具。

使用rustup可以在同一臺電腦上同時安裝多個不同版本的rust,並根據需要進行靈活的切換和使用。

2.1 安裝前的配置工作

根據需要指定安裝路徑與倉庫鏡像地址

2.1.1 rustup安裝路徑配置

在安裝一個新軟件的時候,我們往往需要指定軟件的安裝路徑,rustup的安裝路徑是通過下面兩個環境變量指定的:

  • CARGO_HOME
  • RUSTUP_HOME

2.1.2 倉庫鏡像配置

由於國家網絡管理政策的限制,在直接訪問rustup的倉庫進行軟件安裝時,網速會很慢且很不穩定,這個時候我們需要配置國內的倉庫鏡像地址。

Rust 靜態文件鏡像地址的配置通過下面兩個環境變量指定:

  • RUSTUP_DIST_SERVER
  • RUSTUP_UPDATE_ROOT

Rust Crates 鏡像通過$CARGO_HOME/config文件進行配置:

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "http://mirrors.ustc.edu.cn/crates.io-index"

詳細的幫助穩定參考:

2.2 Linux和macOS上安裝rustup

下載並安裝rustup
curl https://sh.rustup.rs -sSf | sh

配置環境變量(將下面兩條命令的任意一條加到~/.bash_profile即可)
source $HOME/.cargo/env
export PATH="$HOME/.cargo/bin:$PATH"

2.3 Windows上安裝rustup

相比於Linux和macOS,Windows上安裝rustup會相對比較複雜。

2.3.1 GNU與MSVC版本的抉擇

版本 優點 缺點
GNU 調試功能完善 需要安裝與配置Mingw64工具鏈
MSVC 安裝配置簡單 需要安裝Visual Studio,目前不支持調試

2.3.2 安裝命令與開發環境配置

官網 https://rustup.rs 上下載 rustup‑init.exe,運行後根據命令行提示一步步完成安裝即可。

詳細的開發環境配置參考文檔:

2.4 安裝後的驗證

安裝完成後,可以通過如下命令驗證rust是否安裝成功:

rustup show
rustc --version
cargo --version

2.5 beta與nightly版本安裝

beta與nightly版本相當於rust的測試與開發版本,可以使用如下命令安裝:

rustup toolchain install beta
rustup toolchain install nightly

2.6 額外組件安裝

rust官方提供了很多很有用的組件,如rustfmt可用於格式化代碼和統一代碼風格,clippy可以用於找出代碼中編寫不規範的地方並提供修改意見。

這些組件的安裝命令爲:

rustup component add rustfmt
rustup component add rustfmt --toolchain nightly

2.6 版本更新

rust的更新使用rustup完成:

rustup update

3. 項目創建與運行

以最常見的hello world程序爲例,演示rust編程語言的項目創建和運行流程。

rust項目的創建、管理和運行都是使用cargo包管理器進行。

cargo包管理器的詳細使用指導可參考The Cargo Book

3.1 創建項目

創建項目的命令爲:

cargo new hello_world

此命令默認創建一個可執行程序項目,若需要創建lib項目,添加–lib選項即可。

創建完成後,可以觀察一下項目的文件結構:

  • src文件夾下爲項目源碼
  • Cargo.toml文件存放項目的元數據和依賴描述信息
  • .gitignore文件包含rust項目常用的版本管理文件忽略清單

3.2 運行項目

格式化項目代碼
cargo fmt

檢查項目代碼
cargo check

詳細檢查項目代碼規範
cargo clippy

編譯項目
cargo build [--release]

運行項目
cargo run [--release]

測試項目
cargo test
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章