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+"))