这次只学一点 Rust 语法大概不会怀孕了吧(2)

本文介绍了Rust中条目的可见性,包括默认的私有和公有,以及如何通过简单路径访问条目。同时,讨论了属性作为元数据的作用,区分了外侧和内侧属性,并举例说明了属性的使用场景和内置功能。
摘要由CSDN通过智能技术生成

本文来自喵哥的知乎:https://zhuanlan.zhihu.com/p/105733343

上次我们说到Rust里有十四种条目。还记得它们都是什么嘛,来试着默背一遍?不记得了的话,快翻回前一篇复习一下。好了,这次我们来说说条目的一些小伙伴们。

三、条目(item)的小伙伴:可见性(visibility)与简单路径

在十四种条目中,除了宏条目以外,其他十三种可以指定可见性(visibility)。宏条目有自己独特的一套规则,在这里先不说。

可见性(visibility)可以类比其他语言的“访问控制”,即,我在代码里的什么地方可以访问这个条目。上次我们说到盒(crate)具有一个最外层的匿名模块(module)条目,模块条目可以包含条目,形成一棵条目树。在这里,可见性就是在划定在条目树上的。

默认的,也是最严格的是“私有”,pub(in self),可以不写出来,意思是“以当前模块为根的子树可以访问”;最宽松的是“公有”,pub,意思是“无限制,哪里都可以访问”。

其他选择就是当前模块的父节点条目、父节点的父节点条目,等等,一直到盒最外层的匿名模块条目。这条通路上的每个模块条目都可以被选定,意思是“以这个模块为根的子树可以访问”,语法是pub(in <path>),例如pub(in crate::xxx::yyy) 就是“以crate::xxx::yyy为根的子树可以访问”。

另外Rust也提供了几个简写形式:pub(crate) 相

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值