小白想求问一下这个函数定义的时候只有一个参数,为什么使用的时候传了两个

BestLyc · · 1371 次点击
polaris
社区,需要你我一同完善!
看清楚了,`(*first.ReplicaSet)(nil)` 这里是一个参数,进行类型转换而已
#1
更多评论
哦哦是这么理解啊,谢谢啦~那这个是把nil转换成了(*first.ReplicaSet)类型的意思吗?如果这个first.ReplicaSet是个struct的话,这个函数就是向t传了个全是默认空值的first.ReplicaSet是吗?
#2
t((*first.ReplicaSet)(nil)) 应该只是为了获取类型,下面的几种写法效果一样的,我猜这样写应该是避免声明不必要的变量吧 ``` go var rs *first.ReplicaSet; t(rs) ``` ``` go rs := new(first.ReplicaSet) t(rs) ``` ``` go rs := &first.ReplicaSet{} t(rs) ```
#3