我有一个布尔值的数组int
,由整数A
索引到0
,所有这些都初始设置为n
。
我目前的实施是:
true
答案 0 :(得分:9)
使用for
循环是最简单的解决方案。创建数组或切片将始终返回零值。如果bool
,则表示所有值均为false
(类型bool
的零值)。
请注意,使用Composite literal您可以创建并初始化切片或数组,但这不会更短:
b1 := []bool{true, true, true}
b2 := [3]bool{true, true, true}
如果您不想使用for
循环,可以通过为值true
引入常量来缩短它:
const T = true
b3 := []bool{T, T, T}
如果n
很大,for
是最简单的解决方案。
或者您可以切换应用程序的逻辑,并使用数组或切片在切片中存储否定值,这样" all-false" 为零价值将是一个很好的初始值。我的意思是,如果你的切片要存储文件存在,你可以更改逻辑,以便切片存储文件是否缺失:
presents := []bool{true, true, true, true, true, true}
// Is equivalent to:
missings := make([]bool, 6) // All false
// missing=false means not missing, means present)
另请注意,填充具有特定值的数组或切片称为" memset"操作。 Go没有内置函数,但是对于有效的解决方案,请看这个问题:
答案 1 :(得分:0)
使用范围函数进行初始化,而不知道数组中元素的数量。
myDataTable.Rows[12]["ID"].Value