为什么 defer后面可以这么写
```go
defer func(){
//something
}()
```
而return后面
```go
return func(){
//something
}()
```
这么写就会报错: (func literal)() used as value
更多评论
defer 是“延后执行”,必须是 带()的才能执行; return 是 ”返回数值“,是 class1类型,不能带()执行。
除此之外,我再也看不出你的疑问是什么了??
如果你还不明,再起新讨论帖子吧。请详细说明 你希望的样子, 实际的样子, 你疑惑的地方。相信会有 高手 乐意帮你的。
#1
defer后面是 函数调用。而return 返回一个函数,这2者明显是有区别的。
func() {
}
则是定义一个匿名函数。
func() {
}()
则是定义一个匿名函数并调用执行。
#2