rust多個(gè)mod文件引用和文件夾mod使用注意事項(xiàng)小結(jié)
rust多個(gè)mod文件引用和文件夾mod使用注意事項(xiàng)

如果mod文件都在同一級(jí)目錄,則直接使用就可以,因?yàn)閞ust文件都是一個(gè)隱藏的mod,但是如果mod文件在另外一個(gè)目錄下面,就需要在目錄下面聲明一個(gè)mod.rs文件,這樣才能將那個(gè)目錄識(shí)別為一個(gè)mod,可以在mod.rs里面使用pub mod 暴露該目錄下面的mod,從而讓別的文件引入使用。
比如這里有一個(gè)request.rs文件:
// 每一個(gè)rust文件都是一個(gè)隱藏的module
pub fn get_info() {
println!("獲取用戶信息")
}想要在main.rs中使用的話,直接引入即可:

但是如果我定義了一個(gè)utils文件夾,想導(dǎo)出utils里面的mod,就需要在utils下面聲明一個(gè)mod.rs文件:并導(dǎo)出想要導(dǎo)出的mod文件

然后在main.rs里面就可以識(shí)別到utils了:

補(bǔ)充:
5分鐘看明白rust mod use
rust把mod簡(jiǎn)單的事沒說清,一片混亂,似懂非懂.
mod語(yǔ)句查找只有一條規(guī)則:先找mod名1.rs,沒有就我同名文件夾下的mod名1.rs,如果沒有,就同名文件夾下的mod名1/mod.rs,再?zèng)]有就error.
在mod.rs中,pub mod 文件名1或文件夾名1/2,可以無(wú)限遞歸,當(dāng)然沒必要。
直到找到 模塊.rs.
如果模塊.rs中僅聲明,沒定義,又要無(wú)限遞歸,當(dāng)然也沒必要。
假設(shè)不玩遞歸了,直到模塊z.rs中有定義了,得是pub mod …{…}.
而調(diào)用的.rs中得:mod mod名1;use mod名1::文件夾2…n::文件名z::mod名;
如果同名 ,即:模塊名文件夾::(模塊名.rs文件本身的)模塊名::(文件模塊名.rs中的pub mod )模塊名::(函數(shù))模塊名,一共連續(xù)4個(gè)路徑。
使用時(shí):mod名::函數(shù)名或直接函數(shù)名(不建議,尤其大程序,容易混淆)。
這種文件夾必須用mod.rs聯(lián)結(jié)文件夾與文件名.rs,并且必經(jīng)我的同名文件夾下查找要調(diào)用的mod的方式,是一種文件路徑與mod混用方式,畫蛇添足。為了裝逼的遞歸?還是適應(yīng)不同的文件系統(tǒng)?
到此這篇關(guān)于rust多個(gè)mod文件引用和文件夾mod使用注意事項(xiàng)的文章就介紹到這了,更多相關(guān)rust多個(gè)mod文件引用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Rust語(yǔ)言之Prometheus系統(tǒng)監(jiān)控工具包的使用詳解
Prometheus?是一個(gè)開源的系統(tǒng)監(jiān)控和警報(bào)工具包,最初是由SoundCloud構(gòu)建的,隨著時(shí)間的發(fā)展,Prometheus已經(jīng)具有適用于各種使用場(chǎng)景的版本,為了開發(fā)者方便開發(fā),更是有各種語(yǔ)言版本的Prometheus的開發(fā)工具包,本文主要介紹Rust版本的Prometheus開發(fā)工具包2023-10-10
Go調(diào)用Rust方法及外部函數(shù)接口前置
這篇文章主要為大家介紹了Go調(diào)用Rust方法及外部函數(shù)接口前置示例實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06

