可见性

模块是一种隐私边界:

  • 默认情况下,模块项是私有的(隐藏实现详情)。
  • 父项和同级子项始终可见。
  • 换言之,如果某个项在模块“foo”中可见,那么该项在“foo”的所有后代中均可见。
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 5 minutes.
  • 使用“pub”关键字将模块设为公开。

此外,您还可以使用高级“pub(…)”说明符来限制公开可见的范围。

  • 请参阅 Rust 参考
  • 配置“pub(crate)”可见性是一种常见模式。
  • 您可以为特定路径授予可见性,这种情况不太常见。
  • 在任何情况下,都必须向祖先模块(及其所有后代)授予可见性。