Re:Interface Upgrades in Go
by Goopplesoft on Sunday December 07, 2014 @09:54PM
(#8714683)
It seemed to me that interfaces have a second function of providing partial uniformity across types (not just abstracting procedures). I.e the Animal interface has a method `Speak() string` and you have a function that takes an Animal that prints something like "Animal type {species} says {speak}" you would have to define a getter on the Animal's species even though its not a really a procedure. But I see what you mean though. Thanks!
[ Parent
| on HN ]
If you have a function that requires both the species and a speak message from an animal, it would make sense for the interface to have a function that returns both the species and speak strings. I think that this [0] does what you would want.
If you want to guarantee that two structs contain a set of the same required fields, I believe the best practice would be to include an anonymous field for a struct with the fields across both. [1]
[0] http://play.golang.org/p/0zMqPUicgq [1] http://play.golang.org/p/cM3XPfitxH
Re:Interface Upgrades in Go
by Goopplesoft on Monday December 08, 2014 @09:21PM
(#8720597)
That second one is damn interesting, didn't know you could do that. Thanks!