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.

Reply via email to