一:前言,這是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;也會報錯】