package main import "fmt" // 定义一个名为closure的函数,其返回值是“func(int) int” func closure(bias int) func(int) int { // 返回值是一个匿名函数(重要提醒:变量bias和匿名函数是一个整体,称之为闭包) return func(i int) int { bias = bias + i return bias } } func main() { function := closure(10) // 重要说明:变量function此时是一个匿名函数变量。 fmt.Printf("第1次调用,返回值为:%+v \n", function(1)) // 第1次调用,返回值为:11 fmt.Printf("第2次调用,返回值为:%+v \n", function(2)) // 第2次调用,返回值为:13 fmt.Printf("第3次调用,返回值为:%+v \n", function(3)) // 第3次调用,返回值为:16 }
Copyright © 2024 码农人生. All Rights Reserved