創建一個用目錄分層的Rust應用


一:前言,這是Rust基礎程序,主要是用來講解怎么創建分層(類似Java package)的應用;

二:代碼實現:

2.1在src下創建main.rs,然后聲明main方法,代碼如下:

fn main() {
    let fruits = ["mango", "apple", "banana", "litchi", "watermelon"];
    for f in fruits.iter() {
        print!("{} ", f);
    }
}

2.1接着我們需要在main里引用一個類似Java aa.bb.Uu的類,並調用它的某個方法(和Java不同的是Rust更像C++/kotlin不是所有方法都必須在類里,“包”中也可以有方法實現)

,步驟如下:在src下創建common目錄,在common目錄里創建mod.rs(mod.rs是很特殊的文件名字,在里面可以定義屬於common“包”[其實叫mod,即module]的方法實現,同時它還負責引出屬於common“包”下的其他“子包”;

在mod.rs里添加代碼:

// 這里用pub mod的意義在於其他地方比如main.rs里mod common;后可以use common::uks;
pub mod uks;

// 這里也可以有方法定義,這樣這個方法就是在common這個"包"里【Java概念】
pub fn test() {
    println!("hello");
}

注意上面的pub mod uks;很重要,表示uks可以在其他地方通過common mod來引用,而test方法則直接屬於common這個mod;

接着在common目錄下添加uks.rs,其代碼為:

// 默認是私有的,其他module無法訪問
pub fn add(a: i64, b: i64) -> i64 {
    a + b
}

現在main.rs里就可以使用uks和common的mod了,代碼如下:

mod common;
use common::uks::add;

在main方法里就可以直接add(1, 3)來調用了,如果沒有用use(use類似靜態導入,mod類似普通導入),那么就必須common::uks::add(1, 3)來使用,

如果是use common::uks;那么可以uks::add(1, 3),注意不能use common;因為mod common;已經導入了不能重復導入【但是不能省略mod common;而用use common;也會報錯】


免責聲明!

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



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