如何在Rust中声明一个空数组,就像在Go语言中使用make()一样?

xdnvmnnf  于 2022-11-24  发布在  Go
关注(0)|答案(1)|浏览(193)

在Go语言中,我可以使用以下语句声明一个新的EMPTY切片:

players := make([]Player, 0, len(player_list))

如何在Rust中做到这一点?
我试探着:

players = vec!(Player; 0; player_list.len())

但这是错误的,因为我只需要声明一个空数组,而不是一个已经包含一个Player的新数组。
怎么来的?

dhxwm5r4

dhxwm5r41#

首先,array不是一个向量,零大小的数组类似于(),所以我猜你需要向量。要创建一个空向量,请使用Vec::new,如下所示:

let mut players = Vec::<Player>::new();

要创建具有自定义容量的矢量,请使用Vec::with_capacity

相关问题