reflect.Value 转换成接口:
package main
import (
"reflect"
)
func main() {
imap := make(map[string]string)
var input interface{}
input = imap
m := reflect.ValueOf(input)
if m.Kind() == reflect.Map {
res := reflect.MakeMap(m.Type())
keys := m.MapKeys()
for _, k := range keys {
key := k.Convert(res.Type().Key()) //.Convert(m.Type().Key())
value := m.MapIndex(key)
res.SetMapIndex(key, value)
}
}
}