什么是::拉斯特语法,看到这里,意思是:
fn chunk(n: uint, idx: uint) -> uint {
let sh = uint::BITS - (SHIFT * (idx + 1));
(n >> sh) & MASK
}
Run Code Online (Sandbox Code Playgroud)
在像Haskell这样的语言中,它意味着一个类型提示,但是这里编译器已经有了一个值类型的注释,所以它似乎很可能是类型转换.
She*_*ter 17
请参阅附录B:运营商和符号的锈病编程语言.
在这种情况下,双冒号(::)是路径分隔符.路径由板条箱,模块和项目组成.
更新为1.0的示例项的完整路径是:
std::usize::BITS
Run Code Online (Sandbox Code Playgroud)
这里std是箱子,usize是一个模块,BITS是特定的项目 - 在这种情况下是一个常数.
如果向上滚动文件,你会看到use core::usize.use添加要查看的项目集的路径.这就是你可以通过说出来的方式usize::BITS.该core箱子是作为外墙的实现细节std箱子,所以你可以替换std为core正常的代码.
::也可以用作指定泛型类型的方法,否则无法推断它们; 这被称为涡轮机.
也可以看看:
| 归档时间: |
|
| 查看次数: |
1975 次 |
| 最近记录: |