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

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.

主站蜘蛛池模板: 同心县| 文成县| 金溪县| 伊春市| 徐水县| 沁阳市| 云龙县| 交城县| 乳山市| 贵南县| 会昌县| 宁乡县| 澳门| 商丘市| 龙川县| 永善县| 绥阳县| 荥阳市| 高要市| 淳安县| 察哈| 昌江| 广饶县| 杭锦后旗| 临西县| 九龙县| 宁海县| 伽师县| 天台县| 湖南省| 山东省| 绥德县| 苗栗县| 客服| 彭水| 凤城市| 五大连池市| 青河县| 乌拉特前旗| 延津县| 景谷|