Go のマップからキーのスライスを取得する

Golang Map は、順序付けされていないキーと値のペアのコレクションです。キーを使用して取得、更新、または削除された値をすばやく検索できるため、広く使用されています。
マップの値はキーのように一意ではなく、int、float64、rune、text、pointer、reference type、maptype などの任意のタイプにすることができます。
このチュートリアルでは、Go のマップからキーのスライスを取得します。
range
と append()
を使用して、Go のマップからキーのスライスを取得する
この例では、文字列キーと文字列値のマップから始めます。次に、別の文字列スライスでキーだけを取得する方法を示します。
range
を使用してマップからキーを取得し、append()
を使用してそれらを空のスライスにアタッチします。
package main
import "fmt"
func main() {
m := map[string]string{
"animal": "Cat",
"Car": "GMC",
"Metal": "Gold",
}
keys := []string{}
for key, _ := range m {
keys = append(keys, key)
}
fmt.Println("KEYS SLICE -", keys)
}
出力:
KEYS SLICE - [animal Car Metal]
MapKeys
関数を使用して、Go のマップからキーのスライスを取得する
タイプ []Value
のキーの配列を取得するには、reflect パッケージから MapKeys
メソッドを使用します。
package main
import (
"fmt"
"reflect"
)
func main() {
a := map[string]string{
"animal": "Cat",
"Car": "GMC",
"Metal": "Gold",
}
keys := reflect.ValueOf(a).MapKeys()
fmt.Println("Keys Slice -", keys)
}
出力:
Keys Slice - [animal Car Metal]
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe