Skip to content

ankur22/learn-golang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

learn-golang

Links to articles and online courses that have helped me learn Golang

Golang

https://golang.org/ref/spec

Online courses

https://quii.gitbook.io/learn-go-with-tests/ (golang and tdd)
https://tour.golang.org/welcome/1
https://github.com/smileisak/go-training

Debugging

https://golang.org/pkg/expvar/
https://blog.golang.org/race-detector

Compiling

https://medium.com/a-journey-with-go/go-how-to-take-advantage-of-the-symbols-table-360dd52269e5

Interesting pkgs

https://pkg.go.dev/github.com/google/go-cmp/cmp?tab=doc#Equal
https://github.com/google/wire
https://zupzup.org/io-pipe-go/
https://golang.org/pkg/io/#MultiWriter

Coding style

http://go-proverbs.github.io/
https://github.com/uber-go/guide/blob/master/style.md
https://dave.cheney.net/2020/02/23/the-zen-of-go
https://dave.cheney.net/practical-go/presentations/qcon-china.html
https://golang.org/doc/effective_go.html

Abstractions

https://medium.com/@copyconstruct/small-functions-considered-harmful-91035d316c29
https://www.sandimetz.com/blog/2016/1/20/the-wrong-abstraction
https://programmingisterrible.com/post/139222674273/write-code-that-is-easy-to-delete-not-easy-to
https://medium.com/@joshsaintjacque/small-functions-considered-awesome-c95b3fd1812f

Idiomatic Go

https://www.youtube.com/watch?v=yeetIgNeIkc
https://medium.com/@matryer/line-of-sight-in-code-186dd7cdea88

Useful articles

https://dave.cheney.net/2016/08/20/solid-go-design
https://the-zen-of-go.netlify.com/
https://github.com/golang-standards/project-layout
https://chris.beams.io/posts/git-commit/
https://itnext.io/radical-candor-software-edition-d4b5ad401be3
https://medium.com/a-journey-with-go/go-how-zap-package-is-optimized-dbf72ef48f2d
https://dave.cheney.net/2014/03/19/channel-axioms
https://www.danmrichards.com/blog/2018/03/26/goroutines-channels-and-waitgroups/
https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully
https://medium.com/swlh/managing-groups-of-gorutines-in-go-ee7523e3eaca
https://medium.com/@cep21/preemptive-interface-anti-pattern-in-go-54c18ac0668a
https://medium.com/@cep21/what-accept-interfaces-return-structs-means-in-go-2fe879e25ee8
https://medium.com/@saiyerram/go-interfaces-pointers-4d1d98d5c9c6
https://medium.com/@betable/3-go-gotchas-590b8c014e0a
https://blog.golang.org/go1.13-errors
https://blog.golang.org/go1.14
https://www.youtube.com/watch?time_continue=1&v=KXqrBySgX-s&feature=emb_logo
https://blog.golang.org/generate

Go routine scheduling overview

https://medium.com/a-journey-with-go/go-concurrency-scheduler-affinity-3b678f490488
https://medium.com/a-journey-with-go/go-work-stealing-in-go-scheduler-d439231be64d
https://medium.com/a-journey-with-go/go-g0-special-goroutine-8c778c6704d8
https://medium.com/a-journey-with-go/go-goroutine-os-thread-and-cpu-management-2f5a5eaf518a
https://medium.com/a-journey-with-go/go-what-does-a-goroutine-switch-actually-involve-394c202dddb7
https://docs.google.com/document/d/1TTj4T2JO42uD5ID9e89oa0sLKhJYD0Y_kqxDv3I3XMw/edit?pli=1

Concurrency

https://blog.golang.org/concurrency-timeouts
https://blog.golang.org/pipelines

Testing

https://dave.cheney.net/2013/06/30/how-to-write-benchmarks-in-go
https://youtube.com/watch?v=UKe5sX1dZ0k
https://youtu.be/EZ05e7EMOLM
https://dave.cheney.net/tag/testing

Fun articles

https://github.com/dwmkerr/hacker-laws

About

Links to articles and online courses that have helped me learn Golang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published