GO每日一题(5)


下面这段代码有什么问题

func (m map[string]string) Set(key string, value string) {
	m[key] = value
}

func main() {
	m := make(map[string]string)
	m.Set("A", "One")
}

答案

编译失败

解释:Unnamed Type 不能作为方法的接收者。用 Named Type 来修复下代码

type MapType map[string]string

func (m MapType) Set(key string, value string) {
	m[key] = value
}

func main() {
	var m MapType = make(map[string]string)
	m.Set("A", "One")
	fmt.Println(m)
}

输出:map[A:One]


文章作者: Alex
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Alex !
  目录