func f3() (r int) { defer func(r int) { r = r + 5 }(r) return 1 }
为什么结果是1,能详细解释一下吗
因为你返回的1。
这样才会返回5:
func f3() (r int) { defer func(t int) { r = t + 5 }(r) return }
http://www.spfynn.xyz/2021/tr... 看下这篇,你这个问题对应开头的第4个点
作用域问题,你把参数r换一个
2 回答1.3k 阅读
2 回答1k 阅读
2 回答1.1k 阅读
2 回答855 阅读
3 回答672 阅读
997 阅读
1 回答776 阅读
2 回答3.8k 阅读
4 回答6k 阅读✓ 已解决
2 回答4.9k 阅读✓ 已解决
1 回答2.9k 阅读
2 回答8.7k 阅读✓ 已解决
因为你返回的1。
这样才会返回5: