在 Go 中将字段值修改为结构指针

刚接触 Golang 并试图理解我遇到的代码片段。在我正在阅读的博客中,他们定义了一个Vertex这样的结构:


type Vertex struct {

  X int

  Y int

}

然后展示一个如何创建它的新实例并修改其字段之一的示例:


v1 := Vertex{1,2}

v1.X = 3

但是,他们展示了如何创建指向此结构实例的指针并修改其字段之一的示例:


v2 := &Vertex{3,4}

v2.X = 3

这让我有点困惑。对我来说,该语句v2 := &Vertex{3,4}翻译为:“v2是指向新Vertex{3,4}实例的指针”。如果这是真的,那么 ifv2是一个指向结构的指针Vertex,而不是Vertex结构本身,那么我们如何调用v2.X它(它是一个指针!!!)?


噜噜哒
浏览 118回答 1
1回答

白衣染霜花

使用指针访问结构字段,您不需要显式取消引用。这就是为什么v2.X与(*v2).X在此处查找更多详细信息
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go