Rust 如何使用单个值初始化大型数组?
我正试图在铁锈中使用阿特金的筛子。这需要使用Rust 如何使用单个值初始化大型数组?,rust,Rust,我正试图在铁锈中使用阿特金的筛子。这需要使用false初始化数组。互联网上的语法不再适用 fn main() { const limit:usize = 1000000000; let mut sieve:[bool; limit] = [false]; } 我希望这会创建一个大小为limit的数组,并填充false rustc“需要一个固定大小为100000000个元素的数组,找到一个固定大小为1个元素的数组” [false]是一个包含一个元素的数组,即其类型为[bool;1
false
初始化数组。互联网上的语法不再适用
fn main() {
const limit:usize = 1000000000;
let mut sieve:[bool; limit] = [false];
}
我希望这会创建一个大小为limit
的数组,并填充false
rustc“需要一个固定大小为100000000个元素的数组,找到一个固定大小为1个元素的数组”
[false]
是一个包含一个元素的数组,即其类型为[bool;1]
您想要的是[false;limit]
而不是[false]
:
fn main() {
const limit: usize = 1_000_000_000;
let mut sieve = [false; limit];
}
这里不需要类型注释,因为它可以被推断。
[false]
是一个带有一个元素的数组,即它的类型是[bool;1]
您想要的是[false;limit]
而不是[false]
:
fn main() {
const limit: usize = 1_000_000_000;
let mut sieve = [false; limit];
}
这里不需要类型注释[bool;limit]
,因为它可以推断出来