方法
程序员成长之旅 · 程序员成长之旅/Go语言学习/笔记 · 286 字
方法
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