go之闭包
go中闭包概念就是一个函数和与其相关的引用环境组合的一个整体(实体)
 package demo import (     "fmt" ) func AddDemo() func(int) int { 	var n int = 10 	var str = "Hi" 	return func(x int) int { 		n = n + x 		str += string(36) 		fmt.Println("str=", str) 		return n 	} }
main.go中调用:
func main() { 	f := demo.AddDemo()// 	fmt.Println(f(1)) 	fmt.Println(f(2)) }
关键点:
AddDemo函数返回的是一个函数类型,所以,f := demo.AddDemo(),即f其实就是个函数引用,且是一个带一个int形参类型的,
所以,通过f来调用就必须传参。
                    
                
                
            
        
浙公网安备 33010602011771号