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