美文网首页
Golang 闭包

Golang 闭包

作者: 钾肥尔德 | 来源:发表于2019-03-01 12:50 被阅读0次
package main

import (
    "fmt"
)

func adder() func(int) int {
    sum := 0
    return func(x int) int {
        sum += x
        return sum
    }
}

func main() {
    pos, reg := adder(), adder()
    for i := 0; i < 10; i++ {
        fmt.Println(
            i,         //sum[i] = i
            pos(i),    //pos(i) = pos(i).sum + i
            reg(-2*i), //reg(-2 * i) = reg(i) + (-2*i)
        )
    }
}

输出:

API server listening at: 127.0.0.1:26756
0 0 0
1 1 -2
3 2 -6
6 3 -12
10 4 -20
15 5 -30
21 6 -42
28 7 -56
36 8 -72
45 9 -90

相关文章

  • Closure in Golang

    序言 Golang遵循“少即是多”的设计哲学,同时又支持闭包(Closure),那么闭包对于Golang来说肯定有...

  • GO语言面试系列:(三)关于golang闭包所谓的“坑”

    关于golang闭包所谓的“坑”,昨天听了某企业架构师关于golang的经验分享,听到架构师吐槽golang里的闭...

  • golang闭包

    闭包的安全性与变量生命周期

  • Golang 闭包

    输出:

  • golang-闭包

    最近学习golang的匿名函数 发现闭包还是有点意思 闭包基本概念:闭包是可以包含自由(未绑定到特定对象)变量的代...

  • golang

    golang中闭包的问题 熟悉go语言的开发者都知道,go的闭包是可以记录状态的。当我想用闭包来实现保存某一str...

  • golang闭包分析

    在你接触过的编程语言中,或多或少的都接触过闭包。 那什么是闭包? 闭包包含自由(未绑定到特定对象)变量;这些...

  • golang:函数闭包

    From wiki 闭包在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure...

  • golang函数闭包

    定义 Go 语言支持匿名函数,可作为闭包。匿名函数是一个"内联"语句或表达式。匿名函数的优越性在于可以直接使用函数...

  • 闭包

    原文:【Golang】是闭包啊..._哔哩哔哩_bilibili[https://www.bilibili.com...

网友评论

      本文标题:Golang 闭包

      本文链接:https://www.haomeiwen.com/subject/pthduqtx.html