go之构造体方法

Posted c-x-a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go之构造体方法相关的知识,希望对你有一定的参考价值。

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 := Vertexs3, 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 := Verte3, 4
    fmt.Println(Abs1(v))

以上是关于go之构造体方法的主要内容,如果未能解决你的问题,请参考以下文章

Day05 Go语言文件操作,结构体,构造函数,方法接收器,json序列化

Go面向对象三之结构体方法

Go语言结构体

Go语言结构体

Go语言结构体

go语音进阶之为结构体类型添加方法