pub(crate)函数声明语法是什么?它何时被使用?

12

我是一个Rust新手,我在一个开源的代码库中遇到了这种函数声明方式:pub(crate) fn

我之前从未见过这种语法,我想知道它是用来做什么的?

1个回答

21
它定义了能见度的级别。可见度(隐私)的级别在此处解释
语法 可见度:        pub     | pub(crate)     | pub(self)     | pub(super)     | pub(in SimplePath) pub(in path)使一个项目在提供的路径中可见。path必须是声明可见性的项的父模块。 pub(crate)使一个项目在当前crate内可见。 pub(super)使一个项目对父模块可见。这相当于pub(in super)。 pub(self)使一个项目对当前模块可见。这相当于pub(in self)。
因此,pub(crate) fn find_key<K, S>(keys: &Chunk<K, S>, key: &K) -> Option<usize>使find_key函数在crate内部公开(可供使用),但在crate外部不公开。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接