2 回答
TA贡献1863条经验 获得超2个赞
在测试文件中创建简单的函数以输入,并在函数内部,将这些值写入并强制转换为键入并返回引用。示例如下。map[string]stringsync.MapInterfaceMap
func createMockInterfaceMap(in map[string]string) *utils.InterfaceMap{
mockMap := sync.Map{}
for key, value := range in {
mockMap.Store(key, value)
}
iMap := utils.InterfaceMap(mockMap)
return &iMap
}
{
name: "test",
args: args{
res: createMockInterfaceMap(map[string]string{
`key1`:`value1`,
`key2`:`value2`,
}),
},
wantErr: false,
},
TA贡献1111条经验 获得超0个赞
要传入 一个 ,它需要被这样定义。map[interface{}]interface{}
您可以使用如下所示的方式将 a 转换为 a:map[string]stringmap[interface{}]interface{}
func MapConvert(mss map[string]string) map[interface{}]interface{} {
ifaceMap := map[interface{}]interface{}{}
for k, v := range mss {
ifaceMap[k] = v
}
return ifaceMap
}
下面是使用类型定义的示例:
type InterfaceMap map[interface{}]interface{}
func MapConvert(mss map[string]string) *InterfaceMap {
ifaceMap := InterfaceMap{}
for k, v := range mss {
ifaceMap[k] = v
}
return &ifaceMap
}
下面是一个完整的运行示例:
https://play.golang.org/p/UPKqqZnFis-
- 2 回答
- 0 关注
- 111 浏览
添加回答
举报