go之构造体方法

mac2022-06-30  15

package main import ( "fmt" "math" ) type Vertexs struct { X, Y float64 } //Abs 方法拥有一个名为 v,类型为 Vertex 的接收者。 //方法接收者在它自己的参数列表内,位于 func 关键字和方法名之间。 func (v Vertexs) Abs() float64 { return math.Sqrt(v.X*v.X + v.Y*v.Y) } func main() { v := Vertexs{3, 4} fmt.Println(v.Abs()) }

方法只是个带接收者参数的函数。

现在这个 Abs 的写法就是个正常的函数,功能并没有什么变化。

package main import ( "fmt" "math" ) type Verte struct { X, Y float64 } func Abs1(v Verte) float64 { return math.Sqrt(v.X*v.Y + v.Y*v.Y) } func main() { v := Verte{3, 4} fmt.Println(Abs1(v)) }

转载于:https://www.cnblogs.com/c-x-a/p/11211183.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)