📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

方法

创建时间2019-08-08最后修改2019-08-08原位置/程序员成长之旅/Go语言学习/笔记/字数286
目录:程序员成长之旅/Go语言学习/笔记

方法

Go 没有类。不过你可以为结构体类型定义方法。

方法就是一类带特殊的 接收 者 参数的函数. 也就是说,带有接收者的函数就叫做方法

方法接收者在它自己的参数列表内,位于 func 关键字和方法名之间。

在此例中, Abs 方法拥有一个名为 v ,类型为 Vertex 的接收者。 package main import ( "fmt" "math" ) type Vertex struct { X, Y float64 } func (v Vertex) Abs() float64 { //在Abs()前面就是"方法接收者" 接收后可以操作接收的数据(注意这里传过来的是数值,更改后对原值无变化!) return math.Sqrt(v.Xv.X + v.Yv.Y) } func main() { v := Vertex{3, 4} fmt.Println(v.Abs()) }

x

1 package

main 2 3 import ( 4

"fmt" 5

"math" 6 ) 7 8 type

Vertex

struct { 9

X , Y

float64 10 } 11 12 func ( v

Vertex ) Abs () float64 { //在Abs()前面就是"方法接收者" 接收后可以操作接收的数据(注意这里传过来的是数值,更改后对原值无变化!) 13

return

math . Sqrt ( v . X * v . X

v . Y * v . Y ) 14 } 15 16 func

main () { 17

v :

Vertex { 3 , 4 } 18

fmt . Println ( v . Abs ()) 19 } 20