Go语言中既有函数又有方法,一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针
所有给定类型的方法属于该类型的方法集
语法
Go语言中方法的语法格式如下
func (variable_name variable_data_type) function_name() [return_type]{
/* 函数体*/
范例
下面的范例为一个结构体类型 Circle 定义了一个 getArea()
方法
/**
* file: main.go
* author: pottercoding.cn 程序员波特,程序员编程资料站(pottercoding.cn)
* Copyright © 2015-2065 pottercoding.cn. All rights reserved.
*/
package main
import (
"fmt"
/* 定义函数 */
type Circle struct {
radius float64
func main() {
var c1 Circle
c1.radius = 10.00
fmt.Println("Area of Circle(c1) = ", c1.getArea())
//该 method 属于 Circle 类型对象中的方法
func (c Circle) getArea() float64 {
//c.radius 即为 Circle 类型对象中的属性
return 3.14 * c.radius * c.radius
编译运行以上 Go 语言范例,输出结果如下
$ go run main.go
Area of Circle(c1) = 314