For ループを使用せずに Go でブール配列を効率的に初期化する
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>
代替戦略
大規模なブール配列の初期化の効率が懸念される場合は、考慮すべき代替戦略があります。
以上がGo で for ループを使用せずにブール配列を効率的に初期化するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。