【Golang小ネタ】SliceをTrueで初期化する方法

golang-character Golang

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[1] = true

特定の位置だけを true に初期化したい場合、
インデックスを指定して直接初期化する方法もあります。

どの方法を選択するかは、プログラムの要件や処理の内容によります。
使い勝手やパフォーマンスなどを考慮して、最適な方法を選んでください。

ということで、誰かの参考になれば幸いです!

コメント

タイトルとURLをコピーしました