Go方法method

方法method

Go中没有class,但依旧有method

通过显示说明receiver来实现与某个类型的结合

只能为同一个包中的类型定义方法

Receiver可以是类型的值或指针(需要修改对象)

不存在方法重载

可以使用值或指针来调用方法,编译器会自动完成转换

从某种意思上来说,方法是函数的语法糖,因为receiver其实就是方法所接收的第1个参数

如果外部结构和嵌入结构存在同名方法,则优先调用外部结构的方法

类型别名不会拥有底层类型所附带的方法

方法可以调用结构中的非公开字段

 

为类型添加方法

在Go语言中,可以给任意类型(包括内置类型,但不包括指针类型)添加相应的方法,

例如:

在这个例子中,我们定义了一个新类型Integer,它和int没有本质不同,只是它为内置的int类型增加了个新方法Less()。

这样实现了Integer后,就可以让整型像一个普通的类一样使用:

为结构体增加方法实例:

本文参考:

https://www.yuque.com/docs/share/7e08bd92-6105-4262-9d51-d8a7a483fdb2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值