defer(3)
题目:
f1()、f2()、f3() 函数分别返回什么?
1 |
|
答案解析:
1 5 1。
对于f1()
和f2()
昨天就解析过了,这里不作过多赘述。
f3()
中defer
语句中注册的是一个匿名函数,在这个匿名函数中,参数 r 是按值传递的,也就是传递的是 r 的副本。因此,这个匿名函数中的 r 和外层函数 f3() 中的 r 实际上是两个不同的变量。在匿名函数中,r 被加上了 5,但这个修改只是对匿名函数中的 r 副本进行的,不会影响外层函数 f3() 中的 r。
defer(3)
http://example.com/2023/07/11/Go每日一题/defer(3)/