Go入门 - 函数返回函数

《学习Go语言》

函数返回函数的功能实现,编写一个函数,返回另一个函数。创建一个plusX(x)的函数,返回一个函数用于对整数加上x

package main

import "fmt"

func main()  {
	p := plusX(10)
	fmt.Println(p(11))
}

func plusX(x int) func(int) int  {
	return func(y int) int {
		fmt.Printf("X is %d \n", x)
		fmt.Printf("y is %d \n", y)
		return x + y
	}
}

打印

X is 10
y is 11
21