Go語言方法

2019-10-16 23:16:54

Go程式設計語言支援一種叫作方法的特殊型別的函式。 在方法宣告語法中,存在「接收器」以表示函式的容器。 此接收器可用於使用「.」運算子呼叫函式。

語法

func (variable_name variable_data_type) function_name() [return_type]{
   /* function body*/
}

參考一個範例:

package main

import (
   "fmt"
   "math"
)

/* define a circle */
type Circle struct {
   x,y,radius float64
}

/* define a method for circle */
func(circle Circle) area() float64 {
   return math.Pi * circle.radius * circle.radius
}

func main(){
   circle := Circle{x:0, y:0, radius:5}
   fmt.Printf("Circle area: %f", circle.area())
}

當上述程式碼編譯和執行時,它產生以下結果:

Circle area: 78.539816