構造体へのポインタ

構造体のフィールドは、構造体ポインタを通じてアクセスできます。

構造体ポインタ p を持っているときに、構造体のフィールド X にアクセスするには、(*p).X と書くことができます。しかし、その表記は面倒なので、言語は代わりに明示的な逆参照なしで p.X と書くことを許可しています。

  1. package main
  2. import "fmt"
  3. type Vertex struct {
  4. X int
  5. Y int
  6. }
  7. func main() {
  8. v := Vertex{1, 2}
  9. p := &v
  10. p.X = 1e9
  11. fmt.Println(v)
  12. }