[英]What does :: mean in Rust?
在这里看到的Rust中的::
语法是什么意思:
fn chunk(n: uint, idx: uint) -> uint {
let sh = uint::BITS - (SHIFT * (idx + 1));
(n >> sh) & MASK
}
在像Haskell这样的语言中,它意味着一个类型提示,但是这里编译器已经有了一个值类型的注释,所以它似乎很可能是类型转换。
在这种情况下,双冒号( ::
是路径分隔符。 路径由板条箱 , 模块和项目组成 。
更新为1.0的示例项的完整路径是:
std::usize::BITS
这里, std
是crate, usize
是一个模块, BITS
是特定项 - 在这种情况下是一个常量。
如果向上滚动文件,你会看到use core::usize
。 use
会添加要查看的项目集的路径。这就是你可以通过说usize::BITS
。 core
包是外观的实现细节,它是std
crate,因此您可以在正常代码中将std
替换为core
。
::
也可以用作指定泛型类型的方法,否则无法推断它们; 这被称为涡轮机 。
也可以看看:
哎呀。 我读的不是很清楚。 在这种情况下,它只是在模块下引用任何东西的常规方式。 uint::BITS
似乎是一个常量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.