Clone this wiki locally
- Slices related:
- How to perfectly clone a slice?
- How to efficiently clone a slice?
- There is not a perfect way to clone slices in Go.
- When inserting slice elements, to get the best efficiency, it is best not to use the builtin append function.
- Go is not C, so there is not an extreme fast way to merge slices.
- Some details about byte slices and rune slices in Go.
- The capacity of the result byte (or rune) slice of a conversion from a string is unspecified.
- The support of builtin slice manipulations in Go is incomplete.
- Three index slice uses are often verbose.
- Assignments related:
- Some evaluation orders in multi value assignments are unspecified.
- An ambiguity of (or dispute on) the evaluation order of LHS (left hand side) items in a multi value assignment.
- Why Go supports multi value assignments and the influences of this decision.
- A proposal to make Go simpler by removing the := redeclaration syntax.
- Personal opinions:
- About the terminology "reference type" in Go.
- The main sell point of Go is not simplicity, but overall balance and flexibility.
- Small design details I like in Go.
- What are named types?
- Writing qualified Go benchmarks is not easy. (2). (3).
- Channel in Go is a bonus feature, expect channels to solve all problems is a mistake.
- Some summaries:
- Immutable/read-only values related:
- Lacking support for immutable values is a potential security threat for Go programs.
- The benefits of supporting immutable and read only values.
- A proposal to avoid duplicating underlying bytes when using strings as read only byte arguments.
- An immutable value proposal to let Go support final exported values.
- A proposal to support read-only and practical immutable values in Go.
- Go immutable value proposal list.
- More facts and details:
Please follow the official Twitter account of Go 101, @go100and1, to learn some Go details, facts, tips, etc, and read some Go articles from time to time.
Go 101 is a series of books about Go programming.
Books in Go 101 series
- Go (Fundamentals) 101 focuses on Go syntax/semantics (except custom generics related) and all kinds of runtime related things.
- Go Optimizations 101 provides some code performance optimization tricks, tips, and suggestions.
- Go Details & Tips 101 collects many details and provides several tips in Go programming.
- Go Generics 101 explains Go custom generics in detail.
Tapir has spent 4+ years on writing the Go 101 book and maintaining the go101.org website. New contents will continue being added to the book and the website from time to time. If you would like to, you can also support this book by playing Tapir's games (for both Android and iPhone/iPad):