In Go it’s possible to define methods on struct types. The syntax needed for it can be a bit strange for people that are used to define classes and methods in Java, C# etc… but once you learn it it’s quite easy to use.
In my case for example I needed something that could contain a Timer object, a string and a method that could start the timer and call a method at the end of the Timer execution. I implemented it in this way:
|
|
The key point is row 6 func (timer DeviceTimer) startTimer() { ... }
where I defined a method called startTimer
and I specify timer
DeviceTimer
inside the func definition. This basically “extends” the
struct DeviceTimer adding that method to it. This means that I can call
that method in this way:
|
|
This is all you need to do. If you want to read more about this subject, I can suggest to read these two articles:
- Go by Example: Methods https://gobyexample.com/methods
- Inheritance and subclassing in Go - or its near likeness http://golangtutorials.blogspot.co.uk/2011/06/inheritance-and-subclassing-in-go-or.html
|
|