闭包函数的调用问题,如果加括号就会报错,不加括号就可以通过,请问一下,加不加括号,对应代码意义怎么区分
```go
package main
import "fmt"
func f3(f func() func()) {
a := f()
a()
}
func main() {
var a func() func() = func() func() {
fmt.Println("bb")
return func() {
fmt.Println("aa")
}
}()//这个地方加不加括号,表达含义有何不同,加括号之后就编译无法通过
a()
f3(a)
}
```