我可以做这个:
let a: [f32; 3] = [0.0, 1.0, 2.0];
Run Code Online (Sandbox Code Playgroud)
但为什么这不起作用?
let a: [f32; _] = [0.0, 1.0, 2.0];
Run Code Online (Sandbox Code Playgroud)
在我看来,长度是多余的和微不足道的推断.有没有办法避免必须明确指定它?(而且不必附加f32到所有文字.)
我有一个数组的自定义类型,我想初始化该类型的变量.它看起来像这样:
type Registers = [u8; 16];
fn main() {
let mut registers: Registers;
}
Run Code Online (Sandbox Code Playgroud)
我不想做类似下面的事情,因为在某些时候我可能想要更改我的数组类型的大小:
let mut registers: Registers = [0; 16];
Run Code Online (Sandbox Code Playgroud)
有没有办法只使用类型的名称来初始化变量?我是否被迫像上面那样指定初始化?
我的问题与Rust中的Can数组长度有所不同?因为数组的大小应该从类型本身推断出来,而不是从值推断出的数组类型.
rust ×2