Вопрос: Как написать обобщённую функцию для map-keys и почему она не работала до generics?

Go Junior Без компании
Вопрос: Как написать обобщённую функцию для map-keys и почему она не работала до generics?
Ответы
До generics приходилось дублировать код под разные типы или использовать any и касты. ```go package main import "fmt" func Keys[K comparable, V any](m map[K]V) []K { res := make([]K, 0, len(m)) for k := range m { res = append(res, k) } return res } func main() { m := map[string]int{"a": 1, "b": 2} fmt.Println(Keys(m)) } ```