構造体へのポインタ
構造体のフィールドは、構造体ポインタを通じてアクセスできます。
構造体ポインタ p
を持っているときに、構造体のフィールド X
にアクセスするには、(*p).X
と書くことができます。しかし、その表記は面倒なので、言語は代わりに明示的な逆参照なしで p.X
と書くことを許可しています。
package main
import "fmt"
type Vertex struct {
X int
Y int
}
func main() {
v := Vertex{1, 2}
p := &v
p.X = 1e9
fmt.Println(v)
}