Rust 入門 (一)


Rust 語言的介紹、特性什么的都不說了,如有需要,請自行了解。這里我們直接進去正題。

一、開發環境

mac或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

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

rustup upddate

查看版本

rustc --version

cargo --version

卸載

rustup self uninstall

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


tips: 如果想查看文檔,可以使用如下命令:
rustup doc

二、Hello World

學習語言的老規矩,二話不多說,先寫一個Hello World


新建一個 hello.rs 文件,寫入如下內容:

fn main() {
    println!("Hello, world!");
}

然后編譯運行即可

rustc hello.rs  // 編譯,會編譯出一個名為hello的可執行文件
./hello // 運行,會把"Hello, world!"打印出來

做一個簡單的說明,fn 是方法聲明的關鍵字,main 是主函數的名字,rust 程序的入口,即 rust 程序是從 main 方法開始運行的。方法名字后面通常會跟着一對小括號 (),然后是大括號 {} 包裹着函數體(方法的參數和返回值暫且不說)。本文的函數體就是打印 Hello, World! 字符串,而 println! 則是 rust 中的宏,宏指令后文介紹,現在只需要知道宏指令后面需要緊跟着感嘆號 ! 就可以了。


三、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 做一個小游戲玩一玩。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM