Skip to content

Instantly share code, notes, and snippets.

@dele454
Last active January 10, 2024 20:42
Show Gist options
  • Save dele454/70367def592d72485472174c36d23df0 to your computer and use it in GitHub Desktop.
Save dele454/70367def592d72485472174c36d23df0 to your computer and use it in GitHub Desktop.
Golang resources
Coding Standards
++++++++++++++++
https://golang.org/doc/effective_go.html
Go In General
+++++++++++++
https://gobyexample.com/
https://golang.org/doc/code.html
http://www.go-gazelle.com
https://hackernoon.com/i-wrote-some-golang-and-it-felt-great-3c3367a67db5
https://medium.com/rungo/everything-you-need-to-know-about-packages-in-go-b8bac62b74cc
https://medium.com/rungo/structures-in-go-76377cc106a2
https://www.udemy.com/learn-go-the-complete-bootcamp-course-golang/
https://medium.com/mindorks/create-projects-independent-of-gopath-using-go-modules-802260cdfb51
https://medium.com/golangspec/tags-in-golang-3e5db0b8ef3e
https://medium.com/golangspec/interfaces-in-go-part-i-4ae53a97479c
https://medium.com/@quintinglvr/golang-guide-a-list-of-top-golang-frameworks-ides-tools-e7c7866e96c9
https://blog.teamtreehouse.com/go-interfaces-awesome
https://blog.golang.org/using-go-modules
https://medium.com/capital-one-tech/learning-to-use-go-reflection-822a0aed74b7
https://medium.com/random-go-tips/dynamic-json-schemas-part-1-8f7d103ace71
https://smartystreets.com/blog/2018/09/private-dependencies-in-docker-and-go
https://hackernoon.com/golang-handling-errors-gracefully-8e27f1db729f
https://medium.com/@kent.rancourt/go-pointers-why-i-use-interfaces-in-go-338ae0bdc9e4
https://www.calhoun.io/how-do-interfaces-work-in-go/
https://www.callicoder.com/golang-structs/
https://octallium.github.io/golang-handbook/
https://awesome-go.com/
Concurrency, Go routines, Channels & Mutexes
++++++++++++++++++++++++++++++++
https://techdifferences.com/difference-between-concurrency-and-parallelism.html
https://www.youtube.com/watch?v=wgdBVIX9ifA
https://www.youtube.com/watch?v=cN_DpYBzKso
https://medium.com/rungo/achieving-concurrency-in-go-3f84cbf870ca
https://medium.com/rungo/anatomy-of-channels-in-go-concurrency-in-go-1ec336086adb
https://itnext.io/diving-into-golang-channels-e9e610d586e8
https://tutorialedge.net/golang/go-mutex-tutorial/
https://medium.com/capital-one-tech/buffered-channels-in-go-what-are-they-good-for-43703871828
https://www.openmymind.net/Introduction-To-Go-Buffered-Channels/
https://blog.golang.org/defer-panic-and-recover
https://tutorialedge.net/golang/go-waitgroup-tutorial/
https://nathanleclaire.com/blog/2014/02/15/how-to-wait-for-all-goroutines-to-finish-executing-before-continuing/
https://dev.to/leolara/closing-a-go-channel-written-by-several-goroutines-52j2
https://medium.com/swlh/managing-groups-of-gorutines-in-go-ee7523e3eaca
https://www.ardanlabs.com/blog/2017/10/the-behavior-of-channels.html
https://dave.cheney.net/2016/12/22/never-start-a-goroutine-without-knowing-how-it-will-stop
Unit/Benchmarking/Integration Tests
+++++++++++++++++++++++++++++++++++
https://dave.cheney.net/2013/06/30/how-to-write-benchmarks-in-go
https://medium.com/rate-engineering/go-test-your-code-an-introduction-to-effective-testing-in-go-6e4f66f2c259
https://tutorialedge.net/golang/improving-your-tests-with-testify-go/
https://hackernoon.com/integration-test-with-database-in-golang-355dc123fdc9
https://medium.com/@povilasve/go-advanced-tips-tricks-a872503ac859
https://medium.com/rate-engineering/go-test-your-code-an-introduction-to-effective-testing-in-go-6e4f66f2c259
https://medium.com/@matryer/5-simple-tips-and-tricks-for-writing-unit-tests-in-golang-619653f90742
https://medium.com/@romanyx90/testing-database-interactions-using-go-d9512b6bb449
https://lanre.wtf/blog/2017/07/06/mocking-go/
https://tutorialedge.net/golang/advanced-go-testing-tutorial/
https://blog.lamida.org/mocking-in-golang-using-testify/
https://robertbasic.com/blog/buffered-vs-unbuffered-channels-in-golang/
https://www.philosophicalhacker.com/post/integration-tests-in-go/
https://medium.com/@craigchilds94/testing-gin-json-responses-1f258ce3b0b1
https://blog.questionable.services/article/testing-http-handlers-go/
https://semaphoreci.com/community/tutorials/test-driven-development-of-go-web-applications-with-gin
https://semaphoreci.com/community/tutorials/building-go-web-applications-and-microservices-using-gin
https://medium.com/@harrygogonis/testing-go-mocking-third-party-dependancies-4ab4e1c9bd3f
https://medium.com/@xoen/go-testing-technique-testing-json-http-requests-76d9ce0e11f
Building Restful APIs
+++++++++++++++++++++
https://medium.com/@thedevsaddam/build-restful-api-service-in-golang-using-gin-gonic-framework-85b1a6e176f3
Profiling
+++++++++
https://blog.golang.org/profiling-go-programs
https://dotmesh.com/blog/finding-goroutine-leaks/
http://slcjordan.github.io/posts/pprof/
https://golang.org/pkg/runtime/pprof/
https://dev.to/davidsbond/golang-debugging-memory-leaks-using-pprof-5di8
Utilities
+++++++++
https://mholt.github.io/json-to-go/
Dependency Injection
++++++++++++++++++++
https://appliedgo.net/di/
https://blog.dnsimple.com/2018/11/using-structs-to-facilitate-dependency-injection-with-go/
https://blog.drewolson.org/dependency-injection-in-go
https://medium.com/@cep21/preemptive-interface-anti-pattern-in-go-54c18ac0668a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment