Golang指针

Golang指针,第1张

Golang指针

您的示例使用两种Go语言规则:

  1. 可以从具有值接收器方法派生具有指针接收器的方法。这样
    func (v Vertex) Abs() float64
    将自动生成一个附加的方法实现:
    func (v Vertex) Abs() float64 { return math.Sqrt(v.X*v.X+v.Y*v.Y) }

    func (v Vertex) Abs() float64 { return Vertex.Abs(v) } // GENERATED METHOD

编译器将自动找到生成的方法:

    v := &Vertex{3, 4}v.Abs()  // calls the generated method
  1. Go可以自动获取变量的地址。在以下示例中:
        func (v *Vertex) Abs() float64 { return math.Sqrt(v.X*v.X+v.Y*v.Y) }    func main() {        v := Vertex{3, 4}        v.Abs()    }

该表达式

v.Abs()
等效于以下代码:

    vp := &vvp.Abs()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5462902.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存