// +build ignore,OMIT package main import "fmt" // START TYPES OMIT type Point struct { X, Y int } type Rectangle struct { Min, Max Point } // END TYPES OMIT func main() { var r0 Rectangle r1 := r0 // struct copy r1.Min.X, r1.Min.Y = -1, -1 r1.Max = Point{X: 2} fmt.Printf("r0 is %+v\n", r0) fmt.Printf("r1 is %v\n", r1) y := &r1.Max.Y // y is a *int // HL *y = 5 // HL fmt.Println(y, "points to", *y) min := &r1.Min // min is a *Point // HL min.X = 7 // HL fmt.Printf("r1 is %v\n", r1) }