從 Go 中的 Map 中獲取鍵的切片
Jay Singh
2023年1月30日
Golang Map 是無序鍵值對的集合。它被廣泛使用,因為它允許使用鍵快速查詢和檢索、更新或刪除值。
map 中的值不像鍵一樣唯一,可以是任何型別,例如 int、float64、rune、text、pointer、引用型別、map 型別等。
在本教程中,我們將從 Go 中的對映中檢索一個鍵切片。
使用 range
和 append()
從 Go 中的對映中獲取鍵切片
在此示例中,我們從字串鍵和字串值的對映開始。然後我們說明如何僅檢索單獨字串切片中的鍵。
我們通過使用 range
從 map 中獲取鍵,並使用 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]