Go is not an object-oriented language.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.
...It’s better to compose than inherit
Channels and goroutines are powerful way to solve problems involving concurrencyWhile 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).