diff --git a/go/02-next-level/00-methods.go b/go/02-next-level/00-methods.go new file mode 100644 index 0000000..a005976 --- /dev/null +++ b/go/02-next-level/00-methods.go @@ -0,0 +1,24 @@ +package main + +import "fmt" + +type Counter struct { + value int +} + +// pointer receiver +func (c *Counter) Increment() { + c.value++ +} + +// value receiver +func (c Counter) String() string { + return fmt.Sprintf("Counter value: %d", c.value) +} + +func main() { + c := Counter{} + fmt.Println(c) + c.Increment() + fmt.Println(c) +}