在 Go 中不使用 For 循環高效初始化布林數組
在 Go 中,初始化布林數組可以透過多種方式完成。最直接的方法是使用 for 循環,如提供的範例所示:
<code class="go">for i := 0; i < n; i++ { A[i] = true }</code>
但是,還有其他方法可以消除對 for 迴圈的需要。
建立零填充數組/切片
預設情況下,Go 陣列和切片使用其零值進行初始化。對於布林值,零值為 false。因此,建立數組或切片而不初始化其元素將導致所有值都設為 false。
<code class="go">b1 := []bool{false, false, false} b2 := [3]bool{false, false, false}</code>
具有常數值的複合文字
複合文字可以用來建立和初始化具有特定值的陣列或切片。但是,與使用 for 迴圈相比,使用複合文字並沒有提供任何顯著的改進。
<code class="go">b1 := []bool{true, true, true} b2 := [3]bool{true, true, true}</code>
要簡化初始化,您可以為值true 引入一個常數:
<code class="go">const T = true b3 := []bool{T, T, T}</code>
替代策略
如果初始化大型布林數組的效率是一個問題,可以考慮替代策略:
以上是如何在不使用 for 迴圈的情況下有效地初始化 Go 中的布林數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!