最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Cargo工具高效創(chuàng)建Rust項(xiàng)目

 更新時(shí)間:2022年08月11日 16:39:20   作者:微涼秋意  
這篇文章主要介紹了使用Cargo工具高效創(chuàng)建Rust項(xiàng)目,本文有關(guān)Cargo工具的使用和Rust輸入輸出知識(shí)感興趣的朋友一起看看吧

前言

本文緊跟上篇Rust博文內(nèi)容,講解Cargo工具在Rust項(xiàng)目創(chuàng)建時(shí)的妙用,手把手教你使用Cargo工具在黑窗口創(chuàng)建項(xiàng)目。此外,創(chuàng)建項(xiàng)目之后,簡(jiǎn)單的做一個(gè)Rust語(yǔ)言中輸入輸出的測(cè)試,上文提到學(xué)好Rust語(yǔ)言的方法就是一步一步打基礎(chǔ),因此仍要潛心修煉,打牢基礎(chǔ)。

一、功能強(qiáng)大的Cargo工具

1、Cargo工具是什么?

  • Cargo是Rust 的構(gòu)建系統(tǒng)和包管理工具,主要功能包括:
    • 創(chuàng)建和管理 Rust 的模塊系統(tǒng)
    • 下載和管理依賴(lài)庫(kù)
    • 調(diào)用rustc或其他構(gòu)建工具來(lái)構(gòu)建項(xiàng)目
  • 安裝Rust 的時(shí)候會(huì)自動(dòng)安裝Cargo
    • 驗(yàn)證的命令:cargo --version

2、使用Cargo命令創(chuàng)建 hello_cargo 項(xiàng)目

命令:cargo new hello_cargo

其中code .是VSC工具的命令,意思是使用他來(lái)打開(kāi)項(xiàng)目文件:

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

自動(dòng)創(chuàng)建了一個(gè)新目錄hello_cargo,包含:

  • Cargo.toml
  • src目錄
    • main.rs
  • 初始化了一個(gè)新的Git倉(cāng)庫(kù):.gitignore
    • 可以使用其他的vcs(版本控制系統(tǒng))
    • 或者不適用vcs:cargo new 項(xiàng)目名 --vcs

3、項(xiàng)目文件目錄里各文件的內(nèi)容和特點(diǎn)

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

  • [package],是一個(gè)區(qū)域標(biāo)題,表示下方內(nèi)容是用來(lái)配置包的(package)
  • name:項(xiàng)目名
  • version:項(xiàng)目版本
  • edition:使用的Rust版本
  • [dependencies]
  • 另一個(gè)區(qū)域的開(kāi)始,它會(huì)列出項(xiàng)目的依賴(lài)項(xiàng)。
  • 在Rust里,代碼的包寫(xiě)做:crate

2.src/main.rs

  • cargo生成的 main.rs 在src目錄下,此外源代碼都應(yīng)該放在src目錄下
  • 而cargo.toml在項(xiàng)目頂層下
  • 頂層目錄可以放置:RENAME、許可信息、配置文件等
  • 將非cargo創(chuàng)建的項(xiàng)目轉(zhuǎn)化為cargo的方法:
  • 把源代碼移動(dòng)到src里面
  • 創(chuàng)建cargo.toml并填寫(xiě)相應(yīng)的配置

3.Cargo.lock

  • 第一次執(zhí)行Cargo build命令會(huì)在頂層目錄生成 cargo.lock文件
  • 該文件負(fù)責(zé)追蹤項(xiàng)目依賴(lài)的精確版本
  • 不需要手動(dòng)修改此文件

4、Cargo 常用命令

  • cargo build
  • 創(chuàng)建可執(zhí)行文件:target\debug\hello_cargo.exe
  • cargo run
  • 構(gòu)建和運(yùn)行cargo項(xiàng)目,編譯代碼+執(zhí)行結(jié)果
  • 如果之前編譯過(guò)且源碼沒(méi)有發(fā)生改變,則會(huì)直接運(yùn)行二進(jìn)制文件
  • cargo check
  • 檢查代碼,確保能夠通過(guò)編譯,但是不產(chǎn)生任何可執(zhí)行文件
  • cargo check 要比 cargo build 快得多
  • 編寫(xiě)代碼得時(shí)候可以周期性得使用cargo check命令檢查代碼,提高效率
  • cargo build --release
  • 一共兩種配置:
  • 開(kāi)發(fā)使用 :cargo build
  • 正式發(fā)布: cargo build --release
  • 為發(fā)布構(gòu)建,編譯時(shí)會(huì)進(jìn)行優(yōu)化
  • 代碼運(yùn)行速度會(huì)更快,但是編譯時(shí)間長(zhǎng)
  • 會(huì)在target/release 目錄下生成可執(zhí)行文件,而不是 target/debug

二、Rust 語(yǔ)言的輸入輸出

1、輸入輸出測(cè)試

源碼:

use std::io;
fn main() {
    println!("測(cè)試輸入輸出功能");
    println!("從鍵盤(pán)輸入一個(gè)數(shù)字:");

    let mut a=String::new();

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

運(yùn)行效果:

2、具體代碼解析

接下來(lái)把不熟悉的代碼依次解釋?zhuān)?/p>

let mut a=String::new();
 

let用來(lái)聲明變量,mut代表該變量值可修改,String::new()意思是調(diào)用String類(lèi)的實(shí)例。

  • 在Rust 中默認(rèn)變量不可修改,加上mut 才可以被修改
  • new 在Rust 中常用來(lái)創(chuàng)建類(lèi)型實(shí)例
  • 這句話的意思就是將一個(gè)空白的字符串綁定到可變的字符串變量a上
use std::io;
io::stdin().read_line(&mut a).expect("無(wú)法讀取行");

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

  • 如果Result返回的是Err,那么expect()方法就會(huì)中斷整行代碼并打印expect里的信息。
  • 如果返回的是OK,那么就會(huì)把read_line()方法中得到的值賦給OK一并返回給用戶(hù)。
println!("輸出結(jié)果為:{}",a);

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

到此這篇關(guān)于使用Cargo工具高效創(chuàng)建Rust項(xiàng)目的文章就介紹到這了,更多相關(guān)Rust輸入輸出語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Rust語(yǔ)言從入門(mén)到精通系列之Iterator迭代器深入詳解

    Rust語(yǔ)言從入門(mén)到精通系列之Iterator迭代器深入詳解

    這篇文章主要為大家介紹了Rust語(yǔ)言從入門(mén)到精通系列之Iterator迭代器深入詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 詳解Rust 生命周期符號(hào)使用的方法和規(guī)律

    詳解Rust 生命周期符號(hào)使用的方法和規(guī)律

    生命周期是 Rust 中處理引用和所有權(quán)的關(guān)鍵概念,通過(guò)正確使用生命周期符號(hào)和遵循相關(guān)規(guī)律,你可以編寫(xiě)出安全、高效的 Rust 代碼,這篇文章主要介紹了Rust 生命周期符號(hào)使用的方法和規(guī)律,需要的朋友可以參考下
    2024-03-03
  • Rust中的函數(shù)指針詳解

    Rust中的函數(shù)指針詳解

    Rust是一種現(xiàn)代的系統(tǒng)編程語(yǔ)言,它支持函數(shù)指針。函數(shù)指針是指向函數(shù)的指針,可以將函數(shù)作為參數(shù)傳遞給其他函數(shù)或存儲(chǔ)在變量中。Rust中的函數(shù)指針可以用于實(shí)現(xiàn)回調(diào)函數(shù)、動(dòng)態(tài)分發(fā)和多態(tài)等功能。本文將介紹Rust中的函數(shù)指針的基本用法和高級(jí)用法。
    2023-05-05
  • 使用systemd部署r-nacos的操作方法

    使用systemd部署r-nacos的操作方法

    r-nacos是一個(gè)用rust實(shí)現(xiàn)的nacos服務(wù),我們用它平替java?nacos以降低服務(wù)占用內(nèi)存,提升服務(wù)的穩(wěn)定性,這篇文章主要介紹了使用systemd部署r-nacos,需要的朋友可以參考下
    2024-03-03
  • Rust標(biāo)量類(lèi)型的具體使用

    Rust標(biāo)量類(lèi)型的具體使用

    本文主要介紹了Rust標(biāo)量類(lèi)型的具體使用,其中包括整數(shù)類(lèi)型、浮點(diǎn)類(lèi)型、布爾類(lèi)型以及字符類(lèi)型,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • 如何使用Rust寫(xiě)個(gè)猜數(shù)字游戲

    如何使用Rust寫(xiě)個(gè)猜數(shù)字游戲

    這篇文章主要介紹了Rust寫(xiě)個(gè)猜數(shù)字游戲,本項(xiàng)目通過(guò)動(dòng)手實(shí)踐,介紹了Rust新概念:let、match、函數(shù)、使用外部 crate 等,接下來(lái)的文章,你會(huì)繼續(xù)深入學(xué)習(xí)這些概念,并且介紹大部分編程語(yǔ)言都有的概念,如變量、數(shù)據(jù)類(lèi)型和函數(shù),以及如何在 Rust 中使用它們,需要的朋友可以參考下
    2023-12-12
  • 利用Rust編寫(xiě)一個(gè)簡(jiǎn)單的字符串時(shí)鐘

    利用Rust編寫(xiě)一個(gè)簡(jiǎn)單的字符串時(shí)鐘

    這篇文章主要為大家詳細(xì)介紹了一個(gè)用rust寫(xiě)的一個(gè)簡(jiǎn)單的練手的demo,一個(gè)字符串時(shí)鐘,在終端用字符串方式顯示當(dāng)前時(shí)間,感興趣的小伙伴可以了解一下
    2022-12-12
  • Rust生命周期常見(jiàn)誤區(qū)(中英對(duì)照)全面指南

    Rust生命周期常見(jiàn)誤區(qū)(中英對(duì)照)全面指南

    這篇文章主要WEIDJAI?介紹了Rust生命周期常見(jiàn)誤區(qū)(中英對(duì)照)的全面指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Rust?搭建一個(gè)小程序運(yùn)行環(huán)境的方法詳解

    Rust?搭建一個(gè)小程序運(yùn)行環(huán)境的方法詳解

    rust是一門(mén)比較新的編程語(yǔ)言,2015年5月15日,Rust編程語(yǔ)言核心團(tuán)隊(duì)正式宣布發(fā)布Rust?1.0版本,本文給大家介紹Rust?搭建一個(gè)小程序運(yùn)行環(huán)境,以iOS?為例介紹開(kāi)發(fā)環(huán)境的準(zhǔn)備,感興趣的朋友跟隨小編一起看看吧
    2022-05-05
  • Rust實(shí)現(xiàn)AES加解密詳解

    Rust實(shí)現(xiàn)AES加解密詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Rust語(yǔ)言實(shí)現(xiàn)AES加解密算法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下
    2022-10-10

最新評(píng)論

沐川县| 安阳县| 岳阳市| 枣阳市| 尖扎县| 泸州市| 苍梧县| 社旗县| 瑞昌市| 新沂市| 翼城县| 庆云县| 平阳县| 巴彦县| 土默特左旗| 四子王旗| 长宁县| 江川县| 武鸣县| 桃江县| 沁阳市| 庐江县| 武川县| 望都县| 台湾省| 祁阳县| 德清县| 内丘县| 比如县| 雅安市| 聊城市| 阳高县| 遵义县| 城口县| 高淳县| 林周县| 汉阴县| 江源县| 石阡县| 隆化县| 邹平县|