【发布时间】:2016-12-18 06:16:46
【问题描述】:
我很好奇这在 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)
}
Go 认为类型 Foo 有一个名为 foo() 的方法,而不是用传入的方法名称替换它。
【问题讨论】:
-
我不明白你在问什么。这是你想要做的吗? play.golang.org/p/VXuSOeGPd-