方法和函数的区别

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的方法。
posted @ 2019-06-20 18:11  maji233  阅读(581)  评论(0编辑  收藏  举报