n会累加,相当于是一个全局变量

go闭包示例_go

package main

import (
	"fmt"
)

func AddUpper() func (int) int {
	var n int = 10
	return func (x int) int {
		n = n + x
		return n
	}
}

func main(){
	method := AddUpper()
	fmt.Println(method(1))//11
	fmt.Println(method(2))//13
	fmt.Println(method(3))//16
}