为了账号安全,请及时绑定邮箱和手机立即绑定

指向结构的指针(或缺少结构)

指向结构的指针(或缺少结构)

Go
汪汪一只猫 2021-09-13 15:06:41
假设我已经定义了这个结构:type Vertex struct {    X, Y float64}现在它是完全合法的,像这样使用它:func (v *Vertex) Abs() float64 {    return math.Sqrt(v.X*v.X + v.Y*v.Y)}func main() {    v := &Vertex{3, 4}    fmt.Println(v.Abs())}但不使用指针也可以:func main() {    v := Vertex{3, 4}    fmt.Println(v.Abs())}两种情况下的结果是相同的,但它们在内部有何不同?使用指针是否会使程序运行得更快?附注。我知道该Abs()函数需要一个指针作为接收器。这解释了为什么稍后在 main 函数中使用指针的原因。但是为什么当我不使用指针直接调用Abs()结构体实例时程序不吐出错误呢?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 149 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信