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

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.

主站蜘蛛池模板: 桐乡市| 江北区| 龙南县| 英吉沙县| 洮南市| 交城县| 柘城县| 正阳县| 榆社县| 新疆| 延津县| 白朗县| 宣威市| 吴忠市| 新晃| 独山县| 蕉岭县| 武平县| 海城市| 镇安县| 蒙自县| 武鸣县| 南溪县| 九龙城区| 利川市| 临城县| 岳阳市| 高邮市| 腾冲县| 乐平市| 中方县| 福贡县| 阳城县| 睢宁县| 襄樊市| 贵德县| 阜平县| 突泉县| 响水县| 泗阳县| 武宁县|