2016-06-21 11 views
-3

私は、次の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] 
} 

私は行くことは新しいと、この関数宣言の構造に精通していませんよ。入出力値は何ですか?私が確信していることに対する謝罪は素朴な質問です。 Googleに試して、私のGoの本を参照し、まだ混乱しています。宣言func (r Thing) Name(variable aType) otherType

+3

[ツアーオブゴー](https://tour.golang.org/welcome/1)を歩いたことがありますか? – JimB

+0

入出力値は何ですか?私とj? – lulyon

+0

ありがとう@JimB、Goのツアーで答えを見つけました。 – Chloe

答えて

2

、様々なものが(順番に)次のとおり

  • func「はこの機能である」
  • キーワード
  • (r Thing)は、このタイプThingのメソッドである」を示していますメソッドが呼び出される値は変数r "になります(通常の関数はレシーバを持たず、メソッドは常にレシーバが1つしかありません)。
  • Nameメソッド
  • (variable aType)の名前であり、この場合には、タイプaTypeの単一の引数は、引数リストです。メソッドへの引数をゼロにすることは完全に有効です。
  • otherTypeは戻り値の型です。有用な戻り値が存在しない場合は、これを省略できます。
関連する問題