对象:方法调用和本质

5-3 方法调用和本质

03 别名定义

type X int
type Y = X

//go:noinline
func (x X) A() { println("X.A") }

//go:noinline
func (y Y) B() { println("Y.B") }
func main() {
    var x X
    x.A()
    x.B()
}
$ go build && go tool objdump -s "main\.main" test

编译器将别名视作目标类型。

X类型定义别名Y,可以基于X定义方法也可以基于Y定义方法。编译器别名定义编译出来都是基于X.AX.B,把别名还原。

有时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值