github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/talks/2015/go-for-java-programmers/method.go (about) 1 // +build OMIT 2 3 package main 4 5 import ( 6 "bytes" 7 "fmt" 8 ) 9 10 type Point struct { 11 X, Y int 12 } 13 14 type Rectangle struct { 15 Min, Max Point 16 } 17 18 func (r Rectangle) String() string { // HL 19 var buf bytes.Buffer 20 for h := 0; h < r.Max.Y-r.Min.Y; h++ { 21 for w := 0; w < r.Max.X-r.Min.X; w++ { 22 buf.WriteString("#") 23 } 24 buf.WriteString("\n") 25 } 26 return buf.String() 27 } 28 29 func main() { 30 r := Rectangle{Max: Point{20, 5}} 31 s := r.String() // HL 32 fmt.Println(s) 33 } 34 35 // EOF OMIT