- 求职 : 机器学习
- 论坛徽章:
- 79
|
本帖最后由 zsszss0000 于 2015-05-30 22:27 编辑
大侠,那个问题解决了- package main
-
- import (
- "fmt"
- )
-
- func main() {
- 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()
- }
复制代码 这里对a的声明看的不是特别明白,能否帮助解释一下。
a := func()(func()) {
var i int = 10
return func() {
fmt.Printf("i, j: %d, %d\n", i, j)
}
}()
先来谈谈我的理解,首先a:=func()表示的是a是一个匿名函数 a:= func() func()表示这个函数的返回数值是一个函数。
具体来说就是这个函数- return func() {
- fmt.Printf("i, j: %d, %d\n", i, j)
- }
复制代码 我关键不理解的是后面的 ()表示的是什么含义?
回复 2# wangspace
|
|