If you just want to get syntax down and dive in quickly, I’d start w/ the Go Tour first - https://tour.golang.org/welcome/1
This is great for exp devs, not so great for newbies to programming in general.
After that it depends on what you want, but my general advice would be to spend at least 50% of your time coding things and maybe 25-50% looking at ways others have done similar things to see how you can improve your design etc. As you code you will probably have questions as well, so obv Google those questions or post here.
I recommend 25-50% w/ external resources because as many people will tell you, Go isn’t just new syntax, but there are often times where the “Go way” and the way you were used to differ. Eg in Java interfaces are very different than Go. By referencing external resources you will start to learn these things while still getting hands on experience with the other 50% of your time.
For that 25-50% where you are referencing other materials, here are some possible options:
Cheat sheets - Basically pages/repos/etc that show quick examples of how to do more common things in Go. Usually really useful for questions like, “how do I just read in this darn file?”
- https://github.com/a8m/go-lang-cheat-sheet
- https://gobyexample.com/
- https://gowebexamples.com/ (similar to above, but web related)
- https://github.com/golang/go/wiki/SliceTricks (the whole golang wiki is great)
Videos & Exercises - If videos and exercises work well for you, here are a few free options.
-
Just For Func (https://www.youtube.com/playlist?list=PL64wiCrrxh4Jisi7OcCJIUpguV_f5jGnZ) - this has Francesc coding projects, doing code reviews, etc. Usually ~1hr segments, and all I have seen are great.
-
Exorcism (http://exercism.io/languages/go/about) - Coding exercises that are great for practicing go and they slowly build up to more challenging tasks.
-
Gophercises (https://gophercises.com/) - disclaimer: I made this - this has coding exercises that are intended for someone like yourself to get better with Go quickly (each exercise teaches a few specific techniques/packages in Go) and there are videos to go along with each exercise.
Todd’s courses (linked above) are great, but honestly I don’t know that they are going to be up your alley. I generally recommend them for less experienced developers looking to get into coding with go, not experienced devs just switching over to Go. YMMV
Books - This list is limited to the two most commonly recommended books I’ve seen. There are many other great books out there, but these two are both probably what you want right now. If you want recommendations for more specific topics let me know.
- The Go Programming Language - http://www.gopl.io/
- Go in Action - http://goinactionbook.com/
Regardless of the route you take I’m sure you’ll love the language, so just pick something and run with it. Starting is much more important than picking the optimal route learning path