【发布时间】:2021-12-23 10:51:59
【问题描述】:
如何在这个结构中将数组值设置为 0?这显然是错误的。如何正确操作?
struct Game {
board: [[i32; 3]; 3] = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
}
在函数中应该是:
let board: [[i32; 3]; 3] = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
【问题讨论】:
-
你是否尝试在初始化结构时设置默认值?通常你会有一个构造函数来创建具有正确默认值的结构。
-
是的,所以板子在初始化时总是一样的,以后会改变值。 @loganfsmyth
-
不清楚您要达到的目标。您想避免一次又一次地编写此代码吗?使用构造函数(无论如何都要使用它)。您是否想完全避免它,出于某种原因(例如,它超过 3 项并且很冗长)?您可以将
Default::default()用于默认值(0 用于整数)或数组初始化语法用于任何其他常量值([[0; 3]; 3])