刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
解答思路:
在Golang中,对于非接口的任意类型T,是否能调用T的方法,以及反过来是否可行,主要取决于该方法的定义和访问级别。如果方法定义在类型T上,并且是对外可见的(即首字母大写),那么可以通过值接收者(即T类型的实例)来调用该方法。但如果方法是通过指针接收者定义的(即T),那么你需要一个指向该类型的指针来调用该方法。反过来,如果你有一个指向类型T的指针(即*T),你可以调用定义在类型T上的方法,前提是该方法是对外可见的。但是,你不能通过指针直接调用仅在值上定义的方法,因为指针本身并不具有与值相同的所有属性和方法。
最优回答:
对于非接口的任意类型T,不能通过T直接调用T的方法,需要通过T来调用。反过来,可以通过*T调用定义在类型T上的方法。
本文链接:关于Golang中的类型和方法调用,请阐述在非接口任意类型T的情况下,是否可以调用指向类型*T的方法
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!