github.com/goplus/gop@v1.2.6/printer/_testdata/05-Closure/closure.gop (about) 1 import "fmt" 2 3 var x = "Hello, world!" 4 5 foo := func(prompt string) (n int, err error) { 6 n, err = fmt.Println(prompt + x) 7 return 8 } 9 10 fmt.Println(foo("x: ")) 11 12 printf := func(format string, args ...interface{}) (n int, err error) { 13 n, err = fmt.Printf(format, args...) 14 return 15 } 16 17 bar := func(foo func(string, ...interface{}) (int, error)) { 18 foo("Hello, %v!\n", "Go+") 19 } 20 21 bar(printf) 22 fmt.Println(printf("Hello, %v\n", "Go+"))