这是一个示例,请仔细复制并粘贴:
package mainimport fmt "fmt"type Stringy func() stringfunc foo() string{ return "Stringy function"}func takesAFunction(foo Stringy){ fmt.Printf("takesAFunction: %vn", foo())}func returnsAFunction()Stringy{ return func()string{ fmt.Printf("Inner stringy functionn"); 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 stringyn" }; fmt.Printf(baz());}



