• Go is not an object-oriented language.
    ...It’s better to compose than inherit
    This depends of course on your definition of Object Oriented, but I think it captures an important truth - Go is in many ways a rejection of modern OO programming, with all the ceremony and hierarchy that it involves, so though this idea is contentious, Go has dumped all of that in favour of composition.  Nowadays when people talk about OOP, they really mean objects and inheritance.

    Channels and goroutines are powerful way to solve problems involving concurrency
    While I think channels are nice, they're also often overused by newcomers to the language.

    There is nothing exceptional in exceptions

    I do love this about go. Just wish they had completely left out panic, and perhaps had some sugar to make it slightly less painful to return an error (go is becoming infamouse for  if err != nil which is a shame).