我来自具有一流功能支持的JavaScript。例如,您可以:
有人可以给我一个例子,说明我将如何在Go中执行此操作吗?
最佳答案
Go Language and Functional Programming可能会有所帮助。从此博客文章中:
package main
import fmt "fmt"
type Stringy func() string
func foo() string{
return "Stringy function"
}
func takesAFunction(foo Stringy){
fmt.Printf("takesAFunction: %v\n", foo())
}
func returnsAFunction()Stringy{
return func()string{
fmt.Printf("Inner stringy function\n");
return "bar" // have to return a string to be stringy
}
}
func main(){
takesAFunction(foo);
var f Stringy = returnsAFunction();
f();
var baz Stringy = func()string{
return "anonymous stringy\n"
};
fmt.Printf(baz());
}
作者是博客所有者:Dethe Elza(不是我)