官术网_书友最值得收藏!

Public and private module items

In many of the preceding examples, we saw a pub keyword. That keyword makes the item it's attached to public, meaning that it is available to code that is not part of the same module. If we omit the pub keyword on an item, that item is private, meaning that it can only be accessed within the module where it is defined. Private is the default, so we need to explicitly mark those items that we want to have as part of the module's externally accessible interface as public by using the pub keyword.

Making an item private is not a security mechanism. If you're worried that your code will be linked with hostile code that might misuse your code or data, making the code or data private will not protect against such attacks. Rather, the distinction between public and private exists in order to help us make it plain which parts of the code are intended for use outside of the current module, and which are meant to be used only internally. This helps us maintain our software, because we are free to make whatever changes we want to to private items, whereas with public items, we have to be careful that our changes do not break external things we might not even be aware exist.

主站蜘蛛池模板: 洪泽县| 康保县| 郓城县| 万年县| 永城市| 来安县| 冀州市| 罗田县| 贵溪市| 金寨县| 镇巴县| 上饶县| 高碑店市| 汶川县| 浦东新区| 凤庆县| 定边县| 汉中市| 德保县| 米易县| 平湖市| 保亭| 株洲市| 即墨市| 前郭尔| 兰州市| 湖南省| 铜陵市| 榕江县| 阜阳市| 钦州市| 闽清县| 裕民县| 鄂州市| 名山县| 锦州市| 安化县| 康马县| 融水| 黄山市| 崇义县|