0
我已经试过我可以定义一个函数映射[字符串]接口{}
func (m map[string]interface{}) Foo() {
...
}
和
func (m *map[string]interface{}) Foo() {
...
}
上,而是去测试错误与
invalid receiver type map[string]interface {} (map[string]interface {} is an unnamed type)
,所以我有添加一些文字以保持SO在这里的快乐
我注意到一个答案说m我的地图和另一个说b *吧。这两件事是否等价 - 即*没有区别。如果它没有区别为什么它被允许 - 因为对于C读者来说,它们看起来像是不同的东西 – pm100
通常是指针允许方法修改结构。你可以在这里阅读更多关于它的信息:http://golang.org/doc/effective_go.html#pointers_vs_values – fabrizioM
尽管使用带有映射的指针接收器的情况并不常见:该类型已经包含一个指向底层数据结构的指针,所以直接传递它通常是你想要的。 –