Go中的方法前缀

Go中的方法前缀,go,Go,在go中,有一个“前缀”,可以放在函数上。这有什么用?这方面的用例是什么 例如: type a struct { Thing string } func (something a) b() { fmt.Println(something.Thing) } 在本例中,这意味着函数被附加到结构上,因此您可以在其他地方执行a.b() 在本例中,这意味着函数被附加到结构,以便您可以在其他地方执行a.b() 编程就是交流:你在与机器交流它应该做什么,也在与其他程序员(包括你未来的自己)

在go中,有一个“前缀”,可以放在函数上。这有什么用?这方面的用例是什么

例如:

type a struct {
    Thing string
}

func (something a) b() {
    fmt.Println(something.Thing)
}

在本例中,这意味着函数被附加到结构上,因此您可以在其他地方执行
a.b()

在本例中,这意味着函数被附加到结构,以便您可以在其他地方执行
a.b()

编程就是交流:你在与机器交流它应该做什么,也在与其他程序员(包括你未来的自己)交流。许多高级编程结构的目的是使代码更具表现力——也就是说,更清楚地说明程序员的意图


Go的函数接收器类似于更传统的面向对象语言中的“self”对象。这是一种将一组函数组合在一起的方式,并表示“这些方法的存在主要是为了对这种类型的对象进行操作”,而不仅仅是碰巧接受这种类型参数的通用实用方法。换句话说,它们的存在是为了描述抽象对象的行为,抽象对象的状态由结构来描述。

编程就是通信:您正在与机器通信它应该做什么,并与其他程序员通信(包括您未来的自己)。许多高级编程结构的目的是使代码更具表现力——也就是说,更清楚地说明程序员的意图


Go的函数接收器类似于更传统的面向对象语言中的“self”对象。这是一种将一组函数组合在一起的方式,并表示“这些方法的存在主要是为了对这种类型的对象进行操作”,而不仅仅是碰巧接受这种类型参数的通用实用方法。换句话说,它们的存在是为了描述抽象对象的行为,抽象对象的状态是由结构描述的。

用例是什么?@innetic你可以用
a.b()调用它。
用例是什么?@innetic你可以用
a.b()调用它。