6 ms·
I am interested in trying out Go for my next side project. Can anyone recommend any good books/videos that can help me get started?
by bharani_m 10y ago
I am interested in trying out Go for my next side project. Can anyone recommend any good books/videos that can help me get started?
- beliu 10y agoAnother great resource for getting started is https://gobyexample.com/ https://gobyexample.com/. Also check out usage examples on Sourcegraph (disclaimer: I'm the CTO). We sell our tool to companies to use on their private code, but a side effect is that we've indexed usage examples for just about every popular Go open-source library. For example, - Go std lib http package: https://sourcegraph.com/github.com/golang/go@bb41b4d599f5758e25091666e123c41b401ac890/-/blob/src/net/http/request.go#L758:6-758:16 https://sourcegraph.com/github.com/golang/go@bb41b4d599f5758... - Popular gorilla/mux routing library: https://sourcegraph.com/github.com/gorilla/mux@34bf6dc9faa08144e925df4fa1838551b16d6c2a/-/blob/mux.go#L17:6-17:15 https://sourcegraph.com/github.com/gorilla/mux@34bf6dc9faa08... - Gorp, a popular ORM-ish library: https://sourcegraph.com/github.com/go-gorp/gorp@033bf796a22fc4f028c72754ca00e124e25d2928/-/blob/gorp.go#L98:6-98:17 https://sourcegraph.com/github.com/go-gorp/gorp@033bf796a22f... Cross-repo jump-to-def + find-references = great for making sense of new code.
- sethammons 10y agoI would replace gorp with https://github.com/vattle/sqlboiler https://github.com/vattle/sqlboiler. Granted, I've not used either, but I like the philosophy behind sqlboiler. I feel it is more in line with Go principles. I also believe gorp will have issues with the new DB context stuff (though I'm not positive on that).
- adamnemecek 10y agoI know this isn't a book but if you need a go development environment, cloud9 (https://c9.io https://c9.io) ended up being a surprisingly productive environment. Like for go development, it's been better than anything I've tried to setup locally and the IDE even has go autocomplete.
- sherlockgopher 10y agoThese might be helpful Tutorial: https://github.com/thewhitetulip/web-dev-golang-anti-textbook/ https://github.com/thewhitetulip/web-dev-golang-anti-textboo... YouTube series: https://www.youtube.com/playlist?list=PL41psiCma00wgiTKkAZwJiwtLTdcyEyc4 https://www.youtube.com/playlist?list=PL41psiCma00wgiTKkAZwJ...
- weberc2 10y agoIn particular, if you have any problems, /r/golang is very helpful. They'll help get you unstuck quickly.
- wwalser 10y agoThis is how I got started: https://tour.golang.org/welcome/1 https://tour.golang.org/welcome/1 Work through those followed by a few project Euler challenges then implement something simple in the domain that you normally work in. For me that's web so I implemented a little HipChat bot.
- spraak 10y agoThe Go Programming Language (https://gopl.io https://gopl.io) is what I've had at my desk the past few weeks while learning. Also whenever I get stuck I search Github code for a term like "json.Unmarshal" to find how others have done something. And otherwise just duckduckgo'ing "golang <search term>". Also you'll hear a million times to check out Effective Go and The Go Tour (on the official Golang site). Those are good but I appreciate them more now that I've got a good foundation
- smt923 10y agoThis is one of the things that most stood out with me while I was learning Go, it's just so easy to read other people's examples and just understand it without too much hard thought
- timdeneau 10y agoTodd McLeod has a good introductory series, with lots of follow along examples. https://www.youtube.com/channel/UCElzlyMtkoXaO3kFa5HL0Xw https://www.youtube.com/channel/UCElzlyMtkoXaO3kFa5HL0Xw
- joncalhoun 10y agoIf you want to ping me with what you are looking to build and your programming experience level I can recommend more specific resources. jon [at] calhoun.io Many resources (like my book) are targeting absolute beginners so they are a bit lengthier to read if you are experienced, whereas other great books and whatnot are really hard for beginners to follow so at least expressing your skill level would help me recommend specific resources.