繁体   English   中英

什么在Rust中意味着什么?

[英]What does :: mean in Rust?

这里看到的Rust中的::语法是什么意思:

fn chunk(n: uint, idx: uint) -> uint {
    let sh = uint::BITS - (SHIFT * (idx + 1));
    (n >> sh) & MASK
}

在像Haskell这样的语言中,它意味着一个类型提示,但是这里编译器已经有了一个值类型的注释,所以它似乎很可能是类型转换。

请查看附录B: Rust编程语言的 操作符和符号


在这种情况下,双冒号( ::是路径分隔符。 路径板条箱模块项目组成

更新为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM