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
に初期化したい場合、
インデックスを指定して直接初期化する方法もあります。
どの方法を選択するかは、プログラムの要件や処理の内容によります。
使い勝手やパフォーマンスなどを考慮して、最適な方法を選んでください。
ということで、誰かの参考になれば幸いです!