See Go’s great overview in a single page: https://go.dev/doc/effective_go Table of Contents: - [Introduction](https://go.dev/doc/effective_go#introduction) - [Examples](https://go.dev/doc/effective_go#examples) - [Formatting](https://go.dev/doc/effective_go#formatting) - [Commentary](https://go.dev/doc/effective_go#commentary) - [Names](https://go.dev/doc/effective_go#names) - [Package names](https://go.dev/doc/effective_go#package-names) - [Getters](https://go.dev/doc/effective_go#Getters) - [Interface names](https://go.dev/doc/effective_go#interface-names) - [MixedCaps](https://go.dev/doc/effective_go#mixed-caps) - [Semicolons](https://go.dev/doc/effective_go#semicolons) - [Control structures](https://go.dev/doc/effective_go#control-structures) - [If](https://go.dev/doc/effective_go#if) - [Redeclaration and reassignment](https://go.dev/doc/effective_go#redeclaration) - [For](https://go.dev/doc/effective_go#for) - [Switch](https://go.dev/doc/effective_go#switch) - [Type switch](https://go.dev/doc/effective_go#type_switch) - [Functions](https://go.dev/doc/effective_go#functions) - [Multiple return values](https://go.dev/doc/effective_go#multiple-returns) - [Named result parameters](https://go.dev/doc/effective_go#named-results) - [Defer](https://go.dev/doc/effective_go#defer) - [Data](https://go.dev/doc/effective_go#data) - [Allocation with new](https://go.dev/doc/effective_go#allocation_new) - [Constructors and composite literals](https://go.dev/doc/effective_go#composite_literals) - [Allocation with make](https://go.dev/doc/effective_go#allocation_make) - [Arrays](https://go.dev/doc/effective_go#arrays) - [Slices](https://go.dev/doc/effective_go#slices) - [Two-dimensional slices](https://go.dev/doc/effective_go#two_dimensional_slices) - [Maps](https://go.dev/doc/effective_go#maps) - [Printing](https://go.dev/doc/effective_go#printing) - [Append](https://go.dev/doc/effective_go#append) - [Initialization](https://go.dev/doc/effective_go#initialization) - [Constants](https://go.dev/doc/effective_go#constants) - [Variables](https://go.dev/doc/effective_go#variables) - [The init function](https://go.dev/doc/effective_go#init) - [Methods](https://go.dev/doc/effective_go#methods) - [Pointers vs. Values](https://go.dev/doc/effective_go#pointers_vs_values) - [Interfaces and other types](https://go.dev/doc/effective_go#interfaces_and_types) - [Interfaces](https://go.dev/doc/effective_go#interfaces) - [Conversions](https://go.dev/doc/effective_go#conversions) - [Interface conversions and type assertions](https://go.dev/doc/effective_go#interface_conversions) - [Generality](https://go.dev/doc/effective_go#generality) - [Interfaces and methods](https://go.dev/doc/effective_go#interface_methods) - [The blank identifier](https://go.dev/doc/effective_go#blank) - [The blank identifier in multiple assignment](https://go.dev/doc/effective_go#blank_assign) - [Unused imports and variables](https://go.dev/doc/effective_go#blank_unused) - [Import for side effect](https://go.dev/doc/effective_go#blank_import) - [Interface checks](https://go.dev/doc/effective_go#blank_implements) - [Embedding](https://go.dev/doc/effective_go#embedding) - [Concurrency](https://go.dev/doc/effective_go#concurrency) - [Share by communicating](https://go.dev/doc/effective_go#sharing) - [Goroutines](https://go.dev/doc/effective_go#goroutines) - [Channels](https://go.dev/doc/effective_go#channels) - [Channels of channels](https://go.dev/doc/effective_go#chan_of_chan) - [Parallelization](https://go.dev/doc/effective_go#parallel) - [A leaky buffer](https://go.dev/doc/effective_go#leaky_buffer) - [Errors](https://go.dev/doc/effective_go#errors) - [Panic](https://go.dev/doc/effective_go#panic) - [Recover](https://go.dev/doc/effective_go#recover) - [A web server](https://go.dev/doc/effective_go#web_server)
See Go’s great overview in a single page: https://go.dev/doc/effective_go
Table of Contents: