Rust教學
Rust下載和安裝
Rust簡介
Rust Hello World
Rust的特點
Rust註釋
Rust開發環境安裝
Rust文檔
Rust第一個程序
Rust格式化打印
Rust調試
Rust顯示
測試用例:列表
Rust格式化
Rust原語
Rust常量和運算符
Rust元組
Rust數組和切片
Rust自定義類型
Rust結構
Rust可視性
Rust枚舉
Rust常量
Rust變量綁定
Rust變量綁定-可變性
Rust變量綁定-範圍和陰影
Rust變量綁定-聲明
Rust類型轉換
Rust類型轉換 - 字面量
Rust類型轉換-推導
Rust類型轉換 - 別名
Rust表達式
Rust if/else語句
Rust循環
Rust嵌套和標籤
Rust while循環
Rust for和範圍
Rust匹配/match
Rust匹配析構元組
Rust解構枚舉
Rust指針和引用
Rust解構結構
Rust Guards
Rust綁定
Rust if let
Rust while let
Rust函數
Rust方法
Rust閉包
Rust捕捉
Rust作爲輸入參數
Rust匿名類型
Rust輸入函數
Rust作爲輸出參數
Rust公開函數
pub
關鍵字用於聲明的開頭,以便外部函數可以訪問該函數。
以下是私有規則:
如果任何函數或模塊是公共的,則任何父模塊都可以訪問它。
如果任何函數或模塊是私有的,則可以通過其直接父模塊或父項的子模塊來訪問它。
通過下面一個簡單的例子來理解這一點:
mod outer
{
pub fn a()
{
println!("function a");
}
fn b()
{
println!("function b");
}
mod inner
{
pub fn c()
{
println!("function c");
}
fn d()
{
println!("function d");
}
}
}
fn main()
{
outer::a();
outer::b();
outer::inner::c();
outer::inner::d();
}
執行上面示例代碼,得到以下結果 -
在上面的示例中,main()
函數是根模塊,而outer
模塊是項目的當前根模塊。 因此,main()
函數可以訪問outer
模塊。
函數a()
是公共的,對outer::a()
的調用不會導致任何錯誤,但是當main()
函數試圖訪問outer::b()
函數時,它會導致編譯錯誤,因爲它是一個私有函數。
main()
函數無法訪問內部模塊,因爲它是私有的。inner
模塊沒有子模塊,因此只能由其父模塊(即outer
模塊)訪問。