Hacker News new | ask | show | jobs
by dith3r 2293 days 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.
1 comments

Rob 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

Please 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.
Please 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.