在 Go 中,您可以将函数作为参数传递,例如callFunction(fn func). 例如:
package main
import "fmt"
func example() {
fmt.Println("hello from example")
}
func callFunction(fn func) {
fn()
}
func main() {
callFunction(example)
}
但是当它是结构的成员时是否可以调用函数?下面的代码会失败,但给你一个我在说什么的例子:
package main
import "fmt"
type Example struct {
x int
y int
}
var example Example
func (e Example) StructFunction() {
fmt.Println("hello from example")
}
func callFunction(fn func) {
fn()
}
func main() {
callFunction(example.StructFunction)
}
(我知道我在那个例子中要做的事情有点奇怪。我遇到的确切问题并没有很好地缩小到一个简单的例子,但这就是我的问题的本质。但是我也很感兴趣这是从学术角度)
尚方宝剑之说
交互式爱情
相关分类