×
Rust教程Rust简介Rust的特点Rust开发环境安装Rust第一个程序

控制语句

Rust if语句Rust if in a let语句Rust loop循环Rust for循环Rust while循环

Rust所有权

Rust所有权Rust引用和借用Rust切片

Rust结构体

Rust结构体Rust结构体更新语法Rust结构体方法语法

Rust枚举

Rust枚举匹配运算符Rust if let控制流程

Rust模块

Rust模块Rust文件系统Rust公开函数Rust use关键字引用模块

Rust集合

Rust向量Rust字符串

Rust错误处理

Rust错误处理Rust不可恢复的错误Rust可恢复的错误

Rust泛型与性状

Rust泛型Rust TraitRust生命周期

Rust智能指针

Rust智能指针Rust Box<T>Rust Deref traitRust Drop trait

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模块)访问。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)