1. ホーム
  2. 行く

[解決済み】マップからキーのスライスを取得する

2022-03-25 04:46:48

質問

Goでマップからキーのスライスを取得する、よりシンプルで洗練された方法はありますか?

現在、私はマップを反復処理し、キーをスライスにコピーしています。

i := 0
keys := make([]int, len(mymap))
for k := range mymap {
    keys[i] = k
    i++
}

解決方法は?

例えば

package main

func main() {
    mymap := make(map[int]string)
    keys := make([]int, 0, len(mymap))
    for k := range mymap {
        keys = append(keys, k)
    }
}

Goで効率よく動作させるには、メモリの割り当てを最小限にすることが重要です。