• I'll start, even though it's been quite a while since I learned go:

    1. Groking gopath took a while, at first I didn't understand why I had to change the project structure for lots of projects, when I wasn't even completely committed to go.
    2. I made silly mistakes like forgetting ListenAndServe was blocking and wondering why code after it didn't execute, and the classic of wrapping a goroutine in a for loop or range and getting the same index 10 times.
    3. For the causes of bugs, I think not allocating maps (the zero value is not useful),  nil pointer dereference (for various reasons, mostly programmer error), and out of range errors on slices were the biggest causes of crashes in the first programs I wrote.