在rust中,pub是一个关键字,用于指定一个项的可见性。它可以被用来控制模块(module)中的函数、结构体、枚举、常量、trait等的可见性。
如果一个项被标记为pub,则可以被外部的模块访问和使用。如果一个项没有被标记为pub,则它只能在当前模块内部访问。
// 模块定义
mod foo {
// 函数定义,没有标记 pub
fn private_function() {
println!("This is a private function.");
}
// 函数定义,标记 pub
pub fn public_function() {
println!("This is a public function.");
}
// 结构体定义,标记 pub
pub struct PublicStruct {
pub field1: i32,
field2: i32,
}
// 枚举定义,标记 pub
pub enum PublicEnum {
Option1,
Option2,
}
}
// 在另一个模块中使用 foo 模块中的公共函数和结构体
fn main() {
foo::public_function(); // 可以调用公共函数
let my_struct = foo::PublicStruct { field1: 42, field2: 13 }; // 可以创建公共结构体的实例
// 编译错误:private_function 是私有函数,不能被访问
// foo::private_function();
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。