package main
import (
"fmt"
"strconv"
)
func main() {
// 匿名函数的使用:方式1
f1 := func(n1, n2 int) string {
return strconv.Itoa(n1 + n2)
}
ret1 := f1(11, 22)
fmt.Println(ret1)
// 匿名函数的使用:方式2
ret2, b := func(a, b int) (int, bool) {
fmt.Println("哈哈")
return a + b, true
}(11, 22)
fmt.Println(ret2, b)
// 匿名函数使用:方式3-闭包
f2 := F1(12, 22)
ret3 := f2(88)
fmt.Println(ret3)
}
func F1(n1, n2 int) func(int) string {
// 匿名函数使用:方式3,相当于闭包:外函数的返回值是内函数的引用,内函数用到了外函数的变量
return func(i int) string {
return strconv.Itoa(n1 + n2 + i)
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章