go - Go 中的方法前缀

标签 go

在 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/

相关文章:

go - 这个函数在哪里返回非错误?

azure - 从 Azure 迁移到 Google Cloud Service 时出现的问题

适用于所有平台的二进制文件

go - Golang 中的简单 SSH 端口转发

templates - html/模板 : how to get JavaScript (JSON) escaping without <script> tag?

google-app-engine - 在 Google App Engine 环境中托管的 Golang 网络应用程序出错;应用程序前端 BigQuery

arrays - Go 中的不安全指针 : function call end kills array

go - 如何在GoLang中删除“#gosetup”行?

gtk - 可以使用 swig 移植 gui 函数

go - 将接口(interface)与 nil 进行比较