4 ms·
GO is simple decomposition of OOP, class was split into structure (with composition) and interface(with multiple inheritance without implicit definition what in
by dith3r 7y ago
GO is simple decomposition of OOP, class was split into structure (with composition) and interface(with multiple inheritance without implicit definition what interfaces can can coop with structure). Go only restricted that you cannot define virtual methods.
- crimsonalucard 7y agoRob Pike designed Go with the philosophy for people not to use structs like classes. This is intentional and deliberate. If you are using GO like you use OO, you've missed the entire point. https://twitter.com/rob_pike/status/942528032887029760 https://twitter.com/rob_pike/status/942528032887029760
- dith3r 7y agoPlease read carefully what I've written. I've never said that struct == class. Secondly Rop Pike wrote under tweet: `But the more important idea is the separation of concept: data and behavior are two distinct concepts in Go, not conflated into a single notion of "class".` which only proves what I presented in first comment.
- crimsonalucard 7y agoPlease carefully read what I wrote. I never claimed you said struct == class. You literally said go removed virtual methods. This is not what pike is talking about. Pike is talking about putting a function onto your struct. This is legal in go as functions are first class but rob is saying it should be done sparingly because data and behavior need to be distinct concepts. It is not me who failed to parse your writing, but you who failed to understand pike and my comment.