zoukankan      html  css  js  c++  java
  • Go-闭包

    package main
    
    import "fmt"
    
    // 闭包
    // 实现: 在一个函数内部返回一个匿名函数: 1. 在函数内嵌套定义一个函数 2. 然后返回该函数
    // 特征: 匿名函数内部可以引用(修改其值+读取其值)外层函数的变量
    // 特殊: 按理函数执行完毕(return 或 函数结尾),所创建的名称空间会被释放掉
    // 但返回另一个函数对象,外层函数的命名空间并没有释放掉
    
    // 应用: Python中的装饰器
    
    // AddIterator 累加器
    func AddIterator(i int) func(n int) int {
    	return func(n int) int {
    		i += n
    		return i
    	}
    }
    
    func main() {
    	a := AddIterator(10)
    	r1 := a(1)
    	fmt.Println(r1)
    
    	r2 := a(2)
    	fmt.Println(r2)
    
    	r3 := a(3)
    	fmt.Println(r3)
    }
    

      

  • 相关阅读:
    C语言第三天,《常量指针和指针常量》
    树莓派系统烧入总结
    c 语言第一天
    7. Vue
    6. Vue
    5. Vue
    4. Vue
    3. Vue
    1. Vue
    2. Vue
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/14426555.html
Copyright © 2011-2022 走看看