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) } }