24_Go基础(闭包_2)
package main import "fmt" func adder2(x int) func(int) int { return func(y int) int { x += y return x } } func main() { var f = adder2(10) // 返回一个 func,功能是返回 y + x (x 已经是10) fmt.Println(f(10)) // 20 10 + 10 fmt.Println(f(20)) // 40 20 + 20 fmt.Println(f(30)) // 70 40 + 30 f1 := adder2(20) // 返回一个 func,功能是返回 y + x (x 已经是20) fmt.Println(f1(40)) // 60 20 + 40 fmt.Println(f1(50)) // 110 60 + 50 }