亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Cargo工具高效創建Rust項目

發布時間:2022-08-12 11:10:05 來源:億速云 閱讀:295 作者:iii 欄目:開發技術

這篇文章主要介紹了如何使用Cargo工具高效創建Rust項目的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇如何使用Cargo工具高效創建Rust項目文章都會有所收獲,下面我們一起來看看吧。

一、功能強大的Cargo工具

1、Cargo工具是什么?

  • Cargo是Rust 的構建系統和包管理工具,主要功能包括:

    • 創建和管理 Rust 的模塊系統

    • 下載和管理依賴庫

    • 調用rustc或其他構建工具來構建項目

  • 安裝Rust 的時候會自動安裝Cargo

    • 驗證的命令:cargo --version

2、使用Cargo命令創建 hello_cargo 項目

命令:cargo new hello_cargo

如何使用Cargo工具高效創建Rust項目

其中code .是VSC工具的命令,意思是使用他來打開項目文件:

如何使用Cargo工具高效創建Rust項目

可以看到Cargo工具為我們生成了其他的文件,具體看一下都是什么作用:

自動創建了一個新目錄hello_cargo,包含:

  • Cargo.toml

  • src目錄

    • main.rs

  • 初始化了一個新的Git倉庫:.gitignore

    • 可以使用其他的vcs(版本控制系統)

    • 或者不適用vcs:cargo new 項目名 --vcs

3、項目文件目錄里各文件的內容和特點

  • Cargo.toml

  • TOML(Tom’s Obvious,Minimal Language)格式,存放Cargo的配置

如何使用Cargo工具高效創建Rust項目

  • [package],是一個區域標題,表示下方內容是用來配置包的(package)

  • name:項目名

  • version:項目版本

  • edition:使用的Rust版本

  • [dependencies]

  • 另一個區域的開始,它會列出項目的依賴項。

  • 在Rust里,代碼的包寫做:crate

2.src/main.rs

  • cargo生成的 main.rs 在src目錄下,此外源代碼都應該放在src目錄下

  • 而cargo.toml在項目頂層下

  • 頂層目錄可以放置:RENAME、許可信息、配置文件等

  • 將非cargo創建的項目轉化為cargo的方法:

  • 把源代碼移動到src里面

  • 創建cargo.toml并填寫相應的配置

3.Cargo.lock

  • 第一次執行Cargo build命令會在頂層目錄生成 cargo.lock文件

  • 該文件負責追蹤項目依賴的精確版本

  • 不需要手動修改此文件

4、Cargo 常用命令

  • cargo build

  • 創建可執行文件:target\debug\hello_cargo.exe

  • cargo run

  • 構建和運行cargo項目,編譯代碼+執行結果

  • 如果之前編譯過且源碼沒有發生改變,則會直接運行二進制文件

  • cargo check

  • 檢查代碼,確保能夠通過編譯,但是不產生任何可執行文件

  • cargo check 要比 cargo build 快得多

  • 編寫代碼得時候可以周期性得使用cargo check命令檢查代碼,提高效率

  • cargo build --release

  • 一共兩種配置:

  • 開發使用 :cargo build

  • 正式發布: cargo build --release

  • 為發布構建,編譯時會進行優化

  • 代碼運行速度會更快,但是編譯時間長

  • 會在target/release 目錄下生成可執行文件,而不是 target/debug

二、Rust 語言的輸入輸出

1、輸入輸出測試

源碼:

use std::io;
fn main() {
    println!("測試輸入輸出功能");
    println!("從鍵盤輸入一個數字:");

    let mut a=String::new();

    io::stdin().read_line(&mut a).expect("無法讀取行");
    
    println!("輸出結果為:{}",a);
}

運行效果:

如何使用Cargo工具高效創建Rust項目

2、具體代碼解析

接下來把不熟悉的代碼依次解釋:

let mut a=String::new();
 

let用來聲明變量,mut代表該變量值可修改,String::new()意思是調用String類的實例。

  • 在Rust 中默認變量不可修改,加上mut 才可以被修改

  • new 在Rust 中常用來創建類型實例

  • 這句話的意思就是將一個空白的字符串綁定到可變的字符串變量a上

use std::io;
io::stdin().read_line(&mut a).expect("無法讀取行");

use用來引入庫,std::io在Rust 中代表標準的輸入輸出,整體可理解為c中的#include<stdio.h>
在io庫調用stdin()類里的read_line()方法,而該方法需要傳入可變字符串,因此將 &mut a傳入,
為什么要加地址符&呢,這里啊用到了C++里的引用,這樣參數列表里字符串的變化會修飾實參a的變化,且不會產生副本,安全高效。最后還有一個ecpect()方法,read_line()方法會返回一個Result枚舉類型,含有Ok 和 Err 兩個變體。

  • 如果Result返回的是Err,那么expect()方法就會中斷整行代碼并打印expect里的信息。

  • 如果返回的是OK,那么就會把read_line()方法中得到的值賦給OK一并返回給用戶。

println!("輸出結果為:{}",a);

類似于c 里的 printf("輸出結果為%d",a);上面的{}是一個占位符,輸出的時候會被后面變量的值取代,有幾個{}后面就有多少變量。

關于“如何使用Cargo工具高效創建Rust項目”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“如何使用Cargo工具高效創建Rust項目”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衡阳市| 娄烦县| 公主岭市| 陵水| 敦化市| 固阳县| 肥城市| 丰镇市| 苍山县| 疏勒县| 怀柔区| 永泰县| 电白县| 五华县| 德保县| 张掖市| 布拖县| 黔西| 澄城县| 宜兰县| 博湖县| 中阳县| 奈曼旗| 当雄县| 洪湖市| 响水县| 牙克石市| 锡林浩特市| 定西市| 大渡口区| 邵阳市| 高清| 郸城县| 高雄县| 连州市| 镇江市| 雷波县| 遵化市| 孙吴县| 绥江县| 霍州市|