Go 方法是一流的功能吗?

标题基本上说明了一切..


我可以在运行时创建一个返回另一个 Go 方法的 Go 方法吗?一个简单的例子:


type Person struct {

    name string

    age uint

}


func (p Person) createGetNameMethod() /*return signature is a method for Person*/ {

    return /*return a new anonymous method here for Person*/

}


隔江千里
浏览 64回答 1
1回答

手掌心

Go 方法是一流的功能吗?对,他们是。我可以创建一个返回另一个 Golang 方法 [...] 的 Golang 方法吗?是的当然。[我可以]返回一个新的匿名方法[?]不,当然不是。方法集在编译时确定。方法是普通的第一类函数,但它们不能在运行时更改或创建:您可以返回方法集中存在的方法,但不能将一个方法添加到方法集中。反射允许这样的事情,但在你的情况下是不允许的。
打开App,查看更多内容
随时随地看视频慕课网APP