The book "100 Go Mistakes and How to Avoid Them" provides a comprehensive guide to common mistakes Go developers make and how to avoid them. The book covers a wide range of topics, including:
Sending on closed channel (panic). Fix: design sender/closer ownership; close only from one side. 100 Go Mistakes And How To Avoid Them Pdf Download
Returning nil error with non-nil value type that contains error (interface gotcha). Fix: return (T)(nil) carefully; return typed nils as interface nil properly. The book "100 Go Mistakes and How to
Using sorting/comparison algorithms naively (excess allocations). Fix: use sort.Slice with minimal closure capture. ok := <
Using net/http DefaultClient in libraries with default timeouts (no timeout). Fix: create and use custom http.Client with timeouts.
Forgetting to check ok when receiving from channel (closed). Fix: v, ok := <-ch and handle ok==false.