IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    golang匿名函数和闭包

    mckee发表于 2015-11-23 23:48:35
    love 0

    golang实现了匿名函数和闭包,这就意味着你可以在内部代码块使用外部环境变量。

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	//尾部加括号传入参数直接执行
    	sum := func(a, b int) int {
    		return a + b
    	}(3, 4)
    	fmt.Println(sum)
    
    	//赋值给变量时使用
    	f := func(i, j int) (result int) {
    		result = i + j
    		return result
    	}
    	fmt.Println(f(1, 3))
    
    	var j int = 5
    	a := func() func() {
    		var i int = 10
    		return func() {
    			fmt.Printf("i, j: %d, %d\n", i, j)
    		}
    	}()
    	a()
    	j *= 2
    	a()
    }



沪ICP备19023445号-2号
友情链接