| // +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) | |
| } |