Thursday, September 6, 2018

How to avoid Go gotchas

a gotcha is a valid construct in a system, program or programming language that works as documented but is counter-intuitive and almost invites mistakes because it is both easy to invoke and unexpected or unreasonable in its outcome (source: wikipedia)

How to avoid Go gotchas
https://divan.github.io/posts/avoid_gotchas/

Understand Go pointers in less than 800 words or your money back
https://dave.cheney.net/2017/04/26/understand-go-pointers-in-less-than-800-words-or-your-money-back

There is no pass-by-reference in Go
https://dave.cheney.net/2017/04/29/there-is-no-pass-by-reference-in-go

Pointers in Go
https://dave.cheney.net/2014/03/17/pointers-in-go

Should methods be declared on T or *T
https://dave.cheney.net/2016/03/19/should-methods-be-declared-on-t-or-t

HOW EVERYTHING IN GO IS PASSED BY VALUE ?
https://techgita.com/2018/08/25/how-everything-in-go-is-passed-by-value/

50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs
http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/

Go traps
https://go-traps.appspot.com/

Go Data Structures
http://research.swtch.com/godata

Go Data Structures: Interfaces
http://research.swtch.com/interfaces

Go Slices: usage and internals
https://blog.golang.org/go-slices-usage-and-internals

Gopher Puzzlers
http://talks.godoc.org/github.com/davecheney/presentations/gopher-puzzlers.slide

Don't use Go's default HTTP client (in production)
https://medium.com/@nate510/don-t-use-go-s-default-http-client-4804cb19f779

The complete guide to Go net/http timeouts
https://blog.cloudflare.com/the-complete-guide-to-golang-net-http-timeouts/

How to organize the go struct, in order to save memory
https://medium.com/@felipedutratine/how-to-organize-the-go-struct-in-order-to-save-memory-c78afcf59ec2

No comments: