github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/talks/2015/go-for-java-programmers/struct.go (about)

     1  // +build OMIT
     2  
     3  package main
     4  
     5  import "fmt"
     6  
     7  // START SLICES OMIT
     8  var arr [8]Rectangle
     9  
    10  var (
    11  	rects  = arr[2:4]
    12  	rects2 = []Rectangle{rects[0], rects[1]}
    13  )
    14  
    15  // START TYPES OMIT
    16  type Point struct {
    17  	X, Y int
    18  }
    19  
    20  type Rectangle struct {
    21  	Min, Max Point
    22  }
    23  
    24  // END TYPES OMIT
    25  
    26  func main() {
    27  	var r0 Rectangle
    28  
    29  	r1 := r0 // struct copy
    30  
    31  	r1.Min.X, r1.Min.Y = -1, -1
    32  	r1.Max = Point{X: 2}
    33  
    34  	fmt.Printf("r0 is %+v\n", r0)
    35  	fmt.Printf("r1 is %v\n", r1)
    36  }