这个Golang功能声明的组成部分是什么?

时间:2016-06-21 14:58:52

标签: go

我对以下Golang代码的结构感到困惑:

type Team []*athlete

func (s Team) Len() int {
    //some code here
}

func (s Team) Swap(i, j int) {
    s[i], s[j] = s[j], s[i]
}

我是新手,不熟悉这个函数声明结构。什么是输入/输出值?对我所确定的是一个天真的问题道歉。试图谷歌,引用我的Go书,仍然困惑。

1 个答案:

答案 0 :(得分:2)

在声明func (r Thing) Name(variable aType) otherType中,各种事物(按顺序):

  • func是"这是一个功能"关键字
  • (r Thing)表示"这是Thing类型的方法,调用该方法的值将位于变量r" (正常功能没有接收器;方法总是只有一个接收器)。
  • Name是方法的名称
  • (variable aType)是一个参数列表,在本例中是一个类型为aType的参数。对方法赋予零参数是完全有效的。
  • otherType是返回类型,如果不存在有用的返回值,则可以省略。