I would like to understand the reason to type assert but not cast? That is an OO design flaw.
> On Sep 22, 2022, at 7:24 PM, burak serdar <bser...@computer.org> wrote: > > > > >> On Thu, Sep 22, 2022 at 6:08 PM Robert Engels <reng...@ix.netcom.com> wrote: >> 100% true. The difficulty when examining a “large” system is that it becomes >> very difficult to understand the relationships. Documentation can help but >> it is not a great substitute for automated tools. >> >> In Java - actually all of OO - type casting is severely frowned upon - but >> it seems a lot of Go code does it liberally. >> >> If I designed a language today I would prohibit any type casts. It is a >> huge problem and points to insufficient design skills. > > Type-assertion is not exactly type-casting, though. And Go isn't exactly OO. > >> >> >> > On Sep 22, 2022, at 6:57 PM, Ian Davis <m...@iandavis.com> wrote: >> > >> > On Thu, 22 Sep 2022, at 11:27 PM, Rory Campbell-Lange wrote: >> > >> > I just wanted to respond to this part: >> > >> >> I suppose my question is (and forgive me if this is a terrifically >> >> naive), how can one negotiate the go landscape of commonly used modules >> >> to re-utilise, where possible, a more commonly named interface >> >> implementing "Speak()" or convertible to provide "Speak()"? >> >> >> > >> > Generally, when writing Go, the consumer of the object defines the >> > interface it requires. So rather than you looking for interfaces that >> > might exist in the wild, it's better to focus on your application and its >> > needs. If you have a component that uses the Speak method on objects then >> > define that as an interface that your component can accept. Any other user >> > of your component can see that interface is needed and provide a suitable >> > object that implements it or create a shim to adapt one. >> > >> > >> > -- >> > You received this message because you are subscribed to the Google Groups >> > "golang-nuts" group. >> > To unsubscribe from this group and stop receiving emails from it, send an >> > email to golang-nuts+unsubscr...@googlegroups.com. >> > To view this discussion on the web visit >> > https://groups.google.com/d/msgid/golang-nuts/1fb8a3c4-b135-4ab1-b969-d6f4c239b7d9%40www.fastmail.com. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/C0D7D21F-AC72-40E3-9DB9-A8678886CDF3%40ix.netcom.com. > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/CAMV2RqooGmOaXCGmriJ%2BDryYSSLNRmcrc9hfSTcWG-qPGAonxw%40mail.gmail.com. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/F7C79E5B-297E-4E57-8499-EE3A8158495B%40ix.netcom.com.