**p.74:** the comment in <code>gopl.io/ch3/printints</code> should say
`fmt.Sprint`, not `fmt.Sprintf`.
**p.76:** the comment `// "time.Duration 5ms0s` should have a closing double-quotation mark.
**p.79, ¶4:** "When an untyped constant is
assigned to a variable, as in the first statement below, or
appears on the right-hand side of a variable declaration with an
explicit type, as in the other three statements, ..." has it backwards:
the <i>first</i>
statement is a declaration; the other three are assignments.
(Thanks to Yoshiki Shibata, 2015-11-09.)
**p.132, code display following ¶3:** the final comment should read:
`// compile error: can't assign func(int, int) int to func(int) int`
(Thanks to Toni Suter, 2015-11-21.)
**p.166, ¶2:** for "way", read "a way".
**p.362:** the `gopl.io/ch13/bzip` program does not comply with the [proposed rules for passing pointers between Go and C code](https://github.com/golang/proposal/blob/master/design/12416-cgo-pointers.md) because the C function `bz2compress` temporarily stores a Go pointer (in) into the Go heap (the `bz_stream` variable). The `bz_stream` variable should be allocated, and explicitly freed after the call to `BZ2_bzCompressEnd`, by C functions. (Thanks to Joe Tsai, 2015-11-18.)