package mainimport ("fmt""unsafe")func main() {a := func() {fmt.Println("Hello")}a()fmt.Printf("a的type类型%T和字节长度%d",a,unsafe.Sizeof(a)) //a的type类型func()和字节长度8fmt.Println(a) //输出函数地址}
结尾加上参数
package mainimport ("fmt")func main() {msg := "world"// 结尾加了 () 在声明的时候直接执行func(m string) {fmt.Println(m)}(msg)}
作为类型来使用
package mainimport ("fmt")// 定义为一种类型type add func(a, b int) intfunc main() {// 使用这种类型来定义匿名函数var a add = func(a, b int) int {return a + b}s := a(1, 2)fmt.Println(s)}
