我从byteorder读取了以下语法:
rdr.read_u16::<BigEndian>()
Run Code Online (Sandbox Code Playgroud)
我找不到任何解释语法的文档 instance.method::<SomeThing>()
hel*_*low 15
这种结构称为涡轮机.如果搜索此语句,您将发现其定义及其用法.
虽然第一版The Rust Programming Language已经过时,但我觉得这个特别的部分比第二本书更好.
引用第二版:
path::<...>,method::<...>
指定表达式中泛型类型,函数或方法的参数; 通常被称为涡轮风险(例如"42".parse::<i32>())
您可以在编译器无法推断出类型参数的任何情况下使用它,例如
fn main () {
let a = (0..255).sum();
let b = (0..255).sum::<u32>();
let c: u32 = (0..255).sum();
}
Run Code Online (Sandbox Code Playgroud)
a不起作用,因为它不能推断出变量类型.
b确实有效,因为我们直接使用turbofish语法指定了type参数.
c确实有效,因为我们c直接指定了类型.
| 归档时间: |
|
| 查看次数: |
689 次 |
| 最近记录: |