Go 中的接收器(方法)放在哪里?

当我们在一个文件中有多个结构时,有一种推荐的方法将接收器放入 Go 中?


选项 A:每个结构后的方法


Buyer struct {

    // omitted code

}


func (s *Buyer) Buy() {

    // omitted code

}


Seller struct {

    // omitted code

}


func (s *Seller) Sell() {

    // omitted code

}

选项 B:所有结构之后的方法


Buyer struct {

    // omitted code

}


Seller struct {

    // omitted code

}


func (s *Buyer) Buy() {

    // omitted code

}


func (s *Seller) Sell() {

    // omitted code

}


四季花海
浏览 111回答 1
1回答

呼如林

语言规范允许您将它们放在同一个包中的任何位置(您也可以将它们放在不同的文件中,但必须在同一个包中)。规范:方法声明:接收器基类型不能是指针或接口类型,它必须与方法在同一个包中定义。除此之外,这只是常识。将它们靠近(下一个)接收器类型(在您的问题中是选项 A)。更容易找到,更容易维护。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go