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();
}

输出

Rust函数如何设置为公有?

在上面的示例中, main()函数是根模块, 而外部模块是项目的当前根模块。因此, main()函数可以访问外部模块。

由于函数a()是公共的, 因此对external :: a()的调用不会导致任何错误, 但是当main()函数尝试访问external :: b()函数时, 由于它会导致编译错误是私有函数。

main()函数无法访问内部模块, 因为它是私有的。内部模块没有子模块, 因此只能由其父模块(即外部模块)访问。


微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?