map[int]interface{} не получается передать в функцию как map[constraints.Ordered]interface{}
Есть код:
package main
import (
"golang.org/x/exp/constraints"
)
func Keys[keyType constraints.Ordered](mp map[keyType]interface{}) []keyType {
s := make([]keyType, len(mp))
i := 0
for key, _ := range mp {
s[i] = key
i++
}
return s
}
func main() {
s := map[int]int{1: 1, 2: 2}
Keys(s)
}
При запуске ошибка :
.\main.go:20:7: type map[int]int of s does not match inferred type map[int]interface{} for map[keyType]interface{}
Я не понимаю в чем.
Согласно документации int
подходит под constraints.Ordered
, так что и map[int]int
должен подходить под map[int]interface{}
Источник: Stack Overflow на русском