Errata
The errata list is a list of errors and their corrections that were found after the product was released.
The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.
Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
| Version | Location | Description | Submitted by | Date submitted |
|---|---|---|---|---|
| Page Page 73 2nd paragraph |
The paragraph starts comparing if statements to for statements and then refers to the wrong type in the 3rd sentence: "The if statement has three parts, separated by semicolons." |
Anonymous | Feb 21, 2024 | |
| Other Digital Version | github's code for ch04 ex1 and ex2 Line 11 |
"Write a for loop that puts 100 random numbers between 0 and 100 into an int slice." Since the problem does't say, I think 100 should be included in the list of random numbers generated. |
Blair Zajac | Jul 27, 2024 |
| Other Digital Version | Section: Type Assertions and Type Switches Code sample containing "i2, ok := i.(int)" |
In my Apple Books version: |
Blair Zajac | Aug 02, 2024 |
| Other Digital Version | Section: Cgo Is for Integration, Not Performance A few pages into the section |
In my Apple Book version, there's this sentence: |
Blair Zajac | Aug 02, 2024 |
| Page p. 140 Paragraph beginning with GOMEMLIMIT (before Exercises of chapter 6) |
The book says "Called thrashing, this results in a program that does nothing other than run the garbage collector." |
Shun Urushido | Sep 08, 2024 | |
| ePub | Page Ch 2, Predeclared Types / Literals Literals, integer literals (2nd para) |
It currently reads: "Integer literals are base 10 by default, but different PREFIXES are used to indicate other bases: 0b for binary (base 2)" |
Peter D'Souza | Oct 01, 2024 |
| Printed | Page Chapter 14, page 362 2nd and 3rd paragraph |
Example of context.WithErrorClause missing select statement in the status and delay goroutine which potentially can lead to goroutines stuck trying to write to chan. |
Kanstantsin Tatarchuk | Oct 26, 2024 |
| Printed | Page Pg 141 CH06 Exercise 2 |
The exercise solution doesn't consider what happens if an empty slice is passed into the updateSlice function. An empty slice causes the compiler to panic with an index error. |
Jim | Dec 29, 2024 |
| Page p144 in the note. |
This means that *tthe* type has a specified way to store its data and provides |
Jin Cao | Apr 01, 2025 | |
| Printed | Page 5 line 6 |
An unnecessary comma inside the quotation marks for binary name "hello," -> should be "hello". |
Dmitrii | Apr 01, 2024 |
| Printed | Page 73 4th paragraph |
i{plus}{plus} seems strange |
Simon | Feb 24, 2024 |
| Printed | Page 85 First multi-line paragraph |
"Also as if an if statement" should be "Also, as IN an if statement". I think you want "in", and I would also add that comma after "Also". |
Kent Johnson | Oct 01, 2025 |
| Page 102 2nd code |
The code in the book is different from the code in The Go Playgound: |
Anonymous | May 22, 2024 | |
| Page 110 4th paragraph |
(I cover at methods in Go in Chapter 7.) |
Anonymous | May 28, 2024 | |
| Printed | Page 130 Second-to-last line |
In the sentence "Run the command go test ./… -bench=. to find […]", the three dots in "./…" appear to be formatted as an ellipsis, rather than three individual dots. |
Martin Lehmann | Nov 01, 2024 |
| Page 131 4th line after the section title "The Difference Between Maps and Slices" |
The books says "a map is implemented as a pointer to a struct." |
Shun Urushido | Sep 06, 2024 | |
| Page 144 2nd paragraph |
There is an extra t in "This means that tthe type has a specified way to store its data and provides an implementation of any methods declared on the type" |
Anonymous | Feb 23, 2024 | |
| Printed | Page 144 line 7 |
"tthe" instead of "the" |
Dmitrii | Apr 11, 2024 |
| Page 151 the 1st and second paragraph of "Types Are Executable Documentation" |
The first paragraph tells about "one user-defined type that’s based on another user-defined type" and the second paragraph also tells about "one user-defined type based on another user-defined type." |
Shun Urushido | Sep 10, 2024 | |
| Page 174 1st paragraph |
You say "In the preface, I compared writing software to building bridges. " |
Anonymous | Jul 30, 2024 | |
| Printed, PDF, ePub | Page 175 3rd paragraph (not counting code) |
Text reads as |
Anonymous | Feb 11, 2024 |
| Printed, PDF, ePub | Page 175 3rd paragraph (not counting code) |
Text reads as |
Stanley Chan | Feb 11, 2024 |
| Printed, PDF, ePub | Page 196 "More on comparable" section |
Typo |
Stanley Chan | Feb 27, 2024 |
| Printed | Page 196 Under the heading "More on comparable" |
First paragraph under "More on comparable" heading, the word interfacesare should have a space. |
Rik Jurriaans | Aug 31, 2025 |
| Page 242 line 6 |
You do "go build" first and then "go get ./..." in the page, but isn't it better to use "go mod tidy" to update the dependency? |
Shun | Dec 19, 2024 | |
| Page 289 the last line |
"with native threading" should be "WITHOUT native threading"??? |
Shun Urushido | Oct 01, 2024 | |
| Page 307, Concurrency Practices and Patterns, When to use buffered and unbuffered channels 6th paragraph, under the code example |
This means we can |
Cristian Chira | May 15, 2024 |