Rust
語言的介紹、特性什麼的都不說了,若有須要,請自行了解。這裏咱們直接進去正題。html
mac或linux系統,在命令行安裝linux
curl https://sh.rustup.rs -sSf | sh 安裝過程當中會詢問安裝方式,我直接選擇的第一種默認方式,第二種是自定義,第三種是取消安裝
而後會發如今本身家目錄下有一個 .cargo
的隱藏文件夾,裏面有四個文件 bin env git registry
。
1.env
文件設置了 Rust
的環境變量,
2.bin
文件夾下是相關的工具 cargo cargo-miri rust-gdb rustdoc cargo-clippy clippy-driver rust-lldb rustfmt cargo-fmt rls rustc rustup
。git
更新到最新版本(rust會6個星期更新一個版本)windows
rustup upddate
查看版本curl
rustc --version cargo --version
卸載函數
rustup self uninstall
在 Windows
系統上就不說了,直接下載 Rust安裝包rustup-init.exe 安裝便可。工具
tips: 若是想查看文檔,可使用以下命令:學習
rustup doc
學習語言的老規矩,二話很少說,先寫一個Hello World
。
新建一個 hello.rs
文件,寫入以下內容:ui
fn main() { println!("Hello, world!"); }
而後編譯運行便可url
rustc hello.rs // 編譯,會編譯出一個名爲hello的可執行文件 ./hello // 運行,會把"Hello, world!"打印出來
作一個簡單的說明,fn
是方法聲明的關鍵字,main
是主函數的名字,rust
程序的入口,即 rust
程序是從 main
方法開始運行的。方法名字後面一般會跟着一對小括號 ()
,而後是大括號 {}
包裹着函數體(方法的參數和返回值暫且不說)。本文的函數體就是打印 Hello, World!
字符串,而 println!
則是 rust
中的宏,宏指令後文介紹,如今只須要知道宏指令後面須要緊跟着感嘆號 !
就能夠了。
Cargo
做爲 Rust
語言編譯代碼和包的管理工具。大多數 Rust
程序都使用這個工具來管理他們的 Rust
項目,由於 Cargo
幫咱們作了大量的工做,好比:編譯代碼、下載代碼須要的依賴,而且編譯這些依賴。
簡單的 Rust
項目不須要任何依賴,好比咱們前面寫的那個。因此咱們能夠只使用 Cargo
編譯代碼部分的功能,可是當你寫複雜項目的時候,就能夠在項目中使用 Cargo
來更加容易地添加依賴。
下面咱們正式學習這個工具,在上文安裝 Rust
的時候就已經安裝好了這個工具,在此,咱們能夠查看一下它的版本號:
cargo --version
使用 Cargo
建立一個新的項目,項目名叫 hello_cargo
cargo new hello_cargo && cd hello_cargo
這條命令建立了一個 Cargo.toml
文件和一個 src
文件夾(git相關的就先不說了),Cargo.toml
文件以下:
[package] name = "hello_cargo" version = "0.1.0" authors = ["shanpengfei <shanpengfei7@163.com>"] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies]
[package]
下的四行是項目的基礎信息,Cargo
會自動獲取項目的名字、版本、做者和 rust
的發行版本。[dependencies]
則是存放項目須要的依賴。Rust
的包是映射成 crates
的,而當前項目不須要任何其它依賴,後文再仔細介紹。src
文件夾下則是一個 main.rs
文件,裏面存放的代碼是
fn main() { println!("Hello, world!"); }
使用 Cargo
編譯項目
cargo build
這裏會生成一個 Cargo.lock
文件和一個 target
文件夾。Cargo.lock
文件用於鎖定項目依賴的版本,而 target
文件夾則是編譯生成的結果。而後運行項目項目
./target/debug/hello_cargo Hello, world!
其實上面兩條命令可使用 run
命令代替
cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.01s Running `target/debug/hello_cargo` Hello, world!
在寫代碼的時候,咱們一般不須要執行代碼,只須要確保代碼是可編譯的,此時可使用 check
命令來檢查:
cargo check Checking hello_cargo v0.1.0 (/Users/shanpengfei/work/rust-work-space/study/hello_cargo) Finished dev [unoptimized + debuginfo] target(s) in 0.12s
這個命令比 build
命令的速度快,只有當項目須要運行的時候才使用 build
命令。
最基礎的入門級內容先介紹這麼多,下一篇文章使用 rust
作一個小遊戲玩一玩。
歡迎閱讀單鵬飛的學習筆記