Resources for learning Go (golang)
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
- Issue type
- Documentation
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- go
- Domain
- documentation
Research direction
No repository file or documentation entry point is named in the issue. First locate where learning resources are maintained, then review the listed Go links and determine the intended format and scope; done means the relevant resource section is updated with an agreed, useful set of links.
Written by the indexing model from the issue text.
Description
We did what we always do when there’s a problem without a clear solution: we waited.
Waiting gives us more time to add experience and understanding of the problem and also more time to find a good solution. - Russ Cox
Learn the philosophy, earn the language.
- How to Think in Go ("Go Programming") (the original 2010 talk)
- Effective Go (short, 55 page book)
- Go by Example (for all your copy pasta needs)
- Introduction to Go Generics
Go Proverbs: Talk | Printable Poster | Website
Install Go
Uses the official Go tar package from golang.org, but also sets GOBIN, and doesn't change any system directories or permissions. TL;DR: Better than brew or the hacky pkg.
Cheat Sheets & Books
- Go by Example: https://gobyexample.com/
- YourBasic Go: https://yourbasic.org/golang/
- Tour of Go: https://tour.golang.org/
- Learn Go with Tests: https://github.com/quii/learn-go-with-tests
- Effective Go: https://go.dev/doc/effective_go
Selected Articles & Talks
How to Think in Go ("Go Programming"): https://www.youtube.com/watch?v=jgVhBThJdXc
(the original 2010 talk)
- The Go Book ("Effective Go"): https://golang.org/doc/effective_go
go mod("Go with Versions"): https://youtu.be/F8nrpe0XWRg"Engineering is Programming across Time and Teams"
- Go Proverbs: Talk | Printable Poster | Website
- Things in Go I never Use: https://www.youtube.com/watch?v=5DVV36uqQ4E
- Practical Go Programming: https://www.youtube.com/watch?v=2-pPAvqyluI
- How I write Web Services after 8 years of Go: https://www.youtube.com/watch?v=rWBSMsLG8po
- Go Workshop with Dave Cheney: https://www.youtube.com/watch?v=gi7t6Pl9rxE
- More than you ever wanted to know about errors: https://www.youtube.com/watch?v=H1gwKI2V7YA
Selected Articles:
- Toward Go 2 (great talk on engineering in general): https://blog.golang.org/toward-go2
Google I/O
- Google I/O 2014 talks: https://go.dev/blog/io2014
- Google I/O 2013 talks: https://go.dev/blog/io2013-chat
- Google I/O 2012 talks: https://go.dev/blog/io2012-videos
- Google I/O 2011 talks: https://go.dev/blog/io2011
- Google I/O 2010 talks: https://go.dev/blog/io2010
More on Software Engineering
Rob Pike Talks
| Title | Venue | Link |
|---|---|---|
| Go Programming (2011) | Google I/O | https://www.youtube.com/watch?v=jgVhBThJdXc |
| Concurrency is not Parallelism (2015) | Heroku | https://www.youtube.com/watch?v=oV9rvDllKEg |
| Simplicity is Complicated (2015) | dotGo | https://www.youtube.com/watch?v=rFejpH_tAHM |
And if you're going to write a [JavaScript] program, you wouldn't start with a C++ [or Rust] program and translate it line-by-line and expect to end up with a very well-written [JavaScript] program.
And concepts and the idiom in those languages are different enough that you just end up with a badly-written, non-idiomatic [JavaScript] program.
And the same is true of Go and other languages. If you start with the concepts and idioms from C++ or [Rust] or Python and you try to translate those line-by-line into [JavaScript], you'll just be frustrated with the experience. - Russ Cox, Go Programming, Google I/O
Really Good Extras
- Fyne (Cross-Device Toolkit): https://fyne.io
- GoReleaser (Cross-Platform Release Publisher): https://webinstall.dev/goreleaser
- vim-essentials: https://webinstall.dev/vim-essentials
- vim-go: https://webinstall.dev/vim-go
- Versioning your tools.go: https://stackoverflow.com/a/60383471/151312
- Dominant language
- JavaScript
- Stars
- 63
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from BeyondCodeBootcamp/beyondcodebootcamp
-
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
BeyondCodeBootcamp/beyondcodebootcamp#22 · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
BeyondCodeBootcamp/beyondcodebootcamp#21 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 30/100
-
BeyondCodeBootcamp/beyondcodebootcamp#18 · 20 comments · 7 reactions · 1 assignee ·
-
Difficulty 1/5 Under an hour Newbie friendliness 20/100
All issues in BeyondCodeBootcamp/beyondcodebootcamp
Similar issues
-
bug customer-eng Durable Agents Inngest status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
githubnext/gh-aw-cao#13475 ·
-
[BUG]: "Clear All" in Settings doesn't clear the saved analysis, old data comes back after reload Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
AOSSIE-Org/OrgExplorer#253 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
oxc-project/oxc#26944 ·
-
ai-observability bug team/ai-observability
Difficulty 2/5 1-3 hours Newbie friendliness 78/100