Golangの小ネタを入手したらメモがてらまとめようと思います。
今回は、コーディング問題を解いていて、
SliceをTrueで初期化する方法が必要となり
調べたのですが、1行でサクッととはいかなかったので・・・
メモっておきます!
方法: 繰り返しを使用して初期化
nは整数(int)です。
cache := make([]bool, n)
for i := range cache {
cache[i] = true
}このコードでは、make 関数を使用して n 個の要素のBoolのSlice(cache)を作成しています。
その後、range を使用して cache の各要素を true で初期化しています。
これにより、cache は全て true で初期化されることになります。
番外編1: 繰り返しを使用せずに直接初期化
cache := make([]bool, n)make 関数で作成されたSliceは、デフォルトで false で初期化されています。
ですので、特に true で初期化する必要がない場合はこの方法が簡潔です。
番外編2: インデックス指定で直接初期化
cache := make([]bool, n)
cache[0] = true
cache
= true特定の位置だけを true に初期化したい場合、
インデックスを指定して直接初期化する方法もあります。
どの方法を選択するかは、プログラムの要件や処理の内容によります。
使い勝手やパフォーマンスなどを考慮して、最適な方法を選んでください。
ということで、誰かの参考になれば幸いです!

= true


