我想实例化一堆相同类型的函数,而不必复制它们的签名。我已经有一个描述该签名的函数类型(fancyFunc如下)和另一个使用此类参数的函数(doFancyStuff如下)。我将如何做这样的工作?
package main
import "fmt"
type fancyFunc func(a,b,c int) int
func doFancyStuff(f FancyFunc) int {
// Do something special with f
return 42
}
func main() {
// This works but is rather tedious:
f1 := func(a,b,c int) int { return a + b + c }
// I would like to create them like this:
f2 := fancyFunc{ return a * b * c }
// Eventually, they are used like this:
fmt.Println(doFancyStuff(f1))
fmt.Println(doFancyStuff(f2))
}
慕码人2483693
相关分类