diff --git a/go-by-example/methods/methods.go b/go-by-example/methods/methods.go new file mode 100644 index 0000000..0b245b9 --- /dev/null +++ b/go-by-example/methods/methods.go @@ -0,0 +1,26 @@ +package main + +import "fmt" + +type rect struct { + width, height int +} + +func (r *rect) area() int { + return r.width * r.height +} + +func (r rect) perim() int { + return 2*r.width + 2*r.height +} + +func main() { + r := rect{width: 10, height: 5} + + fmt.Println("area: ", r.area()) + fmt.Println("preim: ", r.perim()) + + rp := &r + fmt.Println("area: ", rp.area()) + fmt.Println("perim: ", rp.perim()) +}