在 go 中,有一个可以放在函数上的“前缀”。这有什么用?这有哪些用例?
例子:
type a struct {
Thing string
}
func (something a) b() {
fmt.Println(something.Thing)
}
最佳答案
编程就是交流:您正在与机器交流它应该做什么,并与其他程序员(包括您 future 的自己)交流。许多高级编程结构的目的是使代码更具表现力——也就是说,更清楚地说明程序员的意图。
Go 的函数接收者就像更传统的面向对象语言中的“self”对象。这是一种将一组函数组合在一起并说“这些方法的存在主要是为了对这种类型的对象进行操作”的方法,而不仅仅是碰巧采用那种类型的参数的通用实用方法。换句话说,它们的存在是为了描述抽象对象的行为,其状态由结构描述。
关于go - Go 中的方法前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39112198/