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