27 lines
493 B
Go
27 lines
493 B
Go
|
|
package main
|
||
|
|
|
||
|
|
func GetKeys(data map[string]int) []string {
|
||
|
|
keys := make([]string, 0, len(data))
|
||
|
|
for key := range data {
|
||
|
|
keys = append(keys, key)
|
||
|
|
}
|
||
|
|
|
||
|
|
return keys
|
||
|
|
}
|
||
|
|
|
||
|
|
// any -> alias for interface{}
|
||
|
|
// comparable -> constraint for != and ==
|
||
|
|
func GetKeysGeneric[K comparable, V any](data map[K]V) []K {
|
||
|
|
keys := make([]K, 0, len(data))
|
||
|
|
for key := range data {
|
||
|
|
keys = append(keys, key)
|
||
|
|
}
|
||
|
|
|
||
|
|
return keys
|
||
|
|
}
|
||
|
|
|
||
|
|
func main() {
|
||
|
|
GetKeys(map[string]int{})
|
||
|
|
GetKeysGeneric[int, int](map[int]int{})
|
||
|
|
}
|