创建通用函数以从地图提取值

时间:2018-10-24 02:09:22

标签: go

在这里是初学者,我正在尝试创建一个通用例程以从地图中提取值,我现在有以下功能:

func getValues(m map[interface{}]interface{}) []interface{} {

    v := make([]interface{}, 0, len(m))

    for _, value := range m {
        v = append(v, value)
    }

    return v
}

我这样称呼它:

nearby := make(map[string]Nearby)
values := getValues(nearby)

但我收到此错误:

  

不能将附近(地图类型[string] Nearby)用作地图类型[interface   {}]接口{}作为getValues的参数

1 个答案:

答案 0 :(得分:3)

通常最好只编写特定于类型的代码。不过,要回答您的问题,请使用reflect软件包:

WriteTo