可见性

    ``rust,editable // 一个名为my_mod的模块 mod my_mod { // 模块中的项默认具有私有的可见性 fn private_function() { println!("calledmy_mod::private_function()`”); }

    fn function() { println!(“called function()“); }

    1. // 公有项,包括嵌套模块内的,都可以在父模块外部访问。
    2. my_mod::indirect_access();
    3. my_mod::nested::function();
    4. my_mod::call_public_function_in_my_mod();
    5. // pub(crate) 项可以在同一个 crate 中的任何地方访问
    6. // 报错!函数 `public_function_in_my_mod` 是私有的
    7. //my_mod::nested::public_function_in_my_mod();
    8. // 试一试 ^ 取消该行的注释
    9. // 模块的私有项不能直接访问,即便它是嵌套在公有模块内部的
    10. // 报错!`private_function` 是私有的
    11. // 报错!`private_function` 是私有的
    12. //my_mod::nested::private_function();
    13. // 试一试 ^ 取消此行的注释
    14. // Error! `private_nested` is a private module
    15. //my_mod::private_nested::function();
    16. // 试一试 ^ 取消此行的注释

    }