![image.png](https://static.studygolang.com/190726/298fce34d5aa6bb224cc41ca4fe3fa08.png)
WithDeadline函数中代码如下:
392行 的第一个入参是Context类型的parent,而不是&parent 。那为什么在propagateCancel函数中,可以能parent实参的children的值呢?
同样的,调用WithDeadline函数时传入的也是值,不是地址,为啥也能修改传入的Context类型呢?
可以查看context的定义是interfere接口,因此传递就是地址,同理
Slice
map
interface
等类型传递就是地址,除非在调用者的子函数重新创建对象赋值给变量,那么默认子函数修改会反应到调用者那边。
#1