我有一個A布爾值數組,由整數索引0到n,所有初始設置為true。我目前的實現是:for i := 0; i < n; i++ { A[i] = true}
2 回答

www說
TA貢獻1775條經驗 獲得超8個贊
使用for循環是最簡單的解決方案。創建數組或切片將始終返回一個零值。在這種情況下,bool意味著所有值都將是false( type 的零值bool)。
請注意,使用復合文字您可以創建和初始化切片或數組,但這不會更短:
b1 := []bool{true, true, true}
b2 := [3]bool{true, true, true}
如果你不想使用for循環,你可以通過為 value 引入一個常量來縮短它true:
const T = true
b3 := []bool{T, T, T}
如果n很大,for是最簡單的解決方案。
或者您可以切換應用程序的邏輯,并使用數組或切片將否定值存儲在切片中,這樣“全假”零值將是一個很好的初始值。我的意思是,如果您的切片要存儲文件是否存在,您可以更改邏輯,以便切片存儲文件是否丟失:
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”操作。
- 2 回答
- 0 關注
- 220 瀏覽
添加回答
舉報
0/150
提交
取消