方法和函数的区别

刚接触Go语言时,很多人会困惑为何有的函数名前有输入参数,有的没有。实际上,函数名前无输入参数是一般函数,有输入参数则是结构的方法,输入参数为“方法接收者”,Go语言无类,方法都定义在结构上。
package main
import _ "fmt"

type Animal struct {
	Age int
}

func A(t *Animal) {}
func B(t Animal) {}

func (t *Animal) C(){}
func (t Animal) D(){}

func main() {}

  在刚接触GO语言时候,我相信你也会有这种困惑,为什么有的函数名前面有输入参数,而一些却没有,它们是否有差别?确实有差别,

  • 函数名前面没有输入参数,是一般的函数;
  • 函数名前面有输入参数,是结构的方法,输入参数叫做“方法接收者”!GO语言没有类,方法都定义在结构上了!!
  • 如代码所示,A和B是普通函数,而C和D是Animal的方法。

转载于:https://www.cnblogs.com/maji233/p/11060471.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值