Rust 入門 (一)

Rust 語言的介紹、特性什麼的都不說了,若有須要,請自行了解。這裏咱們直接進去正題。html

1、開發環境

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 rustupgit

更新到最新版本(rust會6個星期更新一個版本)windows

rustup upddate

查看版本curl

rustc --version

cargo --version

卸載函數

rustup self uninstall

Windows 系統上就不說了,直接下載 Rust安裝包rustup-init.exe 安裝便可。工具



tips: 若是想查看文檔,可使用以下命令:學習

rustup doc

2、Hello World

學習語言的老規矩,二話很少說,先寫一個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 中的宏,宏指令後文介紹,如今只須要知道宏指令後面須要緊跟着感嘆號 ! 就能夠了。


3、Cargo

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]
  1. [package] 下的四行是項目的基礎信息,Cargo 會自動獲取項目的名字、版本、做者和 rust 的發行版本。
  2. [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 作一個小遊戲玩一玩。

歡迎閱讀單鵬飛的學習筆記

相關文章
相關標籤/搜索