This is a creation in Article, where the information may have evolved or changed.
/** * Created by Administrator on 13-12-18. */package mainimport ("FMT" "OS") Func F1 (args ... interface {}) {F2 (args ...) F2 (args[1:] ...)} Func F2 (Args ... interface {}) {for I, V: = Range args {fmt. fprintf (OS. Stdout, "i =%d%v\n", I, v)}fmt. fprintf (OS. Stdout, "--------------\ n")}func main () {F1 (1, "Hello", 3.14, Main)//anonymous function 1f: = Func (i, J int) (result int) {//F is function address R Esult = i+jreturn}fmt. fprintf (OS. Stdout, "f =%v f (1,3) =%v\n", F, f (1, 3))//anonymous function 2x, y: = Func (i, J int) (m, n int) {//X Y for function return value return J, i} (1, 9 )//Create anonymous functions directly and execute FMT. fprintf (OS. Stdout, "x =%d y =%d\n", x, y)}
I = 0 1
i = 1 Hello
i = 2 3.14
i = 3 0x4012c0
--------------
i = 0 Hello
i = 1 3.14
i = 2 0x4012c0
--------------
F = 0x401690 f (1,3) = 4
x = 9 y = 1