Go言語の関数メソッド

Go 函数Go 関数

Go言語には関数とメソッドの両方があります。メソッドとは、レシーバーを含む関数です。レシーバーは、名前付き型または構造体型の値またはポインタのいずれかです。指定された型のすべてのメソッドは、その型のメソッドセットに属します。構文は次のとおりです:

func (variable_name variable_data_type) function_name() [return_type]{
   /* 函数体*/
}

以下に、構造体型とその型のメソッドを1つ定義します:

例

package main

import (
   "fmt"  
)

/* 構造体を定義 */
type Circle struct {
  radius float64
}

func main() {
  var c1 Circle
  c1.radius = 10.00
  fmt.Println(円の面積 =, c1.getArea())
}

// このメソッドは Circle 型オブジェクトのメソッドです
func (c Circle) getArea() float64 {
  // c.radius は Circle 型オブジェクトの属性です
  return 3.14 * c.radius * c.radius
}

上記コードの実行結果は次のとおりです:

圆的面积 =  314

Go 函数Go 関数

その他の拡張