我很好奇Go是否可行.我有一个有多种方法的类型.有可能有一个函数,它接受一个方法,并可以为该类型调用它?
这是我想要的一个小例子:
package main
import (
"fmt"
)
type Foo int
func (f Foo) A() {
fmt.Println("A")
}
func (f Foo) B() {
fmt.Println("B")
}
func (f Foo) C() {
fmt.Println("C")
}
func main() {
var f Foo
bar := func(foo func()) {
f.foo()
}
bar(A)
bar(B)
bar(C)
}
Run Code Online (Sandbox Code Playgroud)
Go think类型Foo有一个名为的方法foo(),而不是用传入的方法名称替换它.