Understanding the Go idiom of accepting interfaces and returning concrete types to write flexible, reusable, and maintainable code.
Read articleGo
Understanding memory allocation in Go, including stack vs heap allocation, escape analysis, and how Go handles pointer returns from functions.
Read articleUnderstanding Go methods, the difference between value and pointer receivers, embedding for composition, and how interfaces work with methods.
Read articleUnderstanding Go slices, their underlying array structure, creation and modification mechanics, and the implications when passing slices to functions.
Read articleA guide to JSON serialization and deserialization in Go, covering type mappings, HTTP responses, and practical examples with the net/http package.
Read articleHow Go passes function arguments by value and the implications for different data types: integers, pointers, slices, strings, and structs.
Read articleA guide to understand Go interfaces through a power socket and electrical device analogy, covering duck typing and interface implementation.
Read articleUnderstanding Go data structures and their memory layout including integers, floats, arrays, pointers, structs, strings, and slices.
Read articleUnderstanding the difference between indexing strings as bytes versus runes in Go, and when to use each approach for proper Unicode handling.
Read articleUnderstanding the io.Reader and io.Writer interfaces in Go, and how accepting an io.Writer parameter makes your code flexible across files, HTTP responses, stdout, and in-memory buffers.
Read article