在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、匿名函数 示例1: package main import "fmt" func main() { a := 10 str := "mike" //匿名函数,没有函数名字, 函数定义,还没有调用 f1 := func() { //:= 自动推导类型 fmt.Println("a = ", a) fmt.Println("str = ", str) } f1() //给一个函数类型起别名 type FuncType func() //函数没有参数,没有返回值 //声明变量 var f2 FuncType f2 = f1 f2() } 执行结果: a = 10 str = mike a = 10 str = mike
示例2: 定义匿名函数,同时调用 package main import "fmt" func main() { a := 10 str := "mike" //定义匿名函数,同时调用 func() { fmt.Printf("a = %d, str = %s\n", a, str) }() //后面的()代表调用此匿名函数 } 执行结果: a = 10, str = mike
示例3: 带参数的匿名函数 package main import "fmt" func main() { a := 10 str := "mike" //带参数的匿名函数 f3 := func(i, j int) { fmt.Printf("i = %d, j = %d\n", i, j) } f3(1, 2) } 执行结果: i = 1, j = 2
示例4: 定义匿名函数,同时调用 package main import "fmt" func main() { //定义匿名函数,同时调用 func(i, j int) { fmt.Printf("i = %d, j = %d\n", i, j) }(10, 20) } 执行结果: i = 10, j = 20
示例5: 匿名函数,有参有返回值 package main import "fmt" func main() { //匿名函数,有参有返回值 x, y := func(i, j int) (max, min int) { if i > j { max = i min = j } else { max = j min = i } return }(10, 20) fmt.Printf("x = %d, y = %d\n", x, y) } 执行结果: x = 20, y = 10
|
请发表评论