601-Golang的method

struct结构体+方法

在这里插入图片描述
在这里插入图片描述
现在我们觉得这个结构体太单薄了,它应该有自己的操作方法
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
上述是通过一个函数来实现的让年龄加,但是现在这个函数和user是没有关联的,就是一个普通的结构外加一个普通的函数

我们的Go提供了另外一种方案:

struct结构体+方法

func addAge(user *User, n int) {
  user.age+=n
}

//前面的这个参数表示:这个方法属于哪个struct的,只能传1个struct类型的参数
func (user User) addAge(n int) {

}

在这里插入图片描述
u.addAge(8)的最前面不用加&,因为是方法的调用方,不需要做这些额外操作,自动变成引用的状态。
在这里插入图片描述
Go语言可以去模拟class
在这里插入图片描述
这个method是有特权的,可以在定义的时候决定是要改还是不要改的,传值还是传地址,这个是可以自己决定的,无需外面的代码来配合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林林林ZEYU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值