『プログラミング言語Go』正誤表
2022年2月19日更新
はじめに
- 『プログラミング言語Go』は、何度も校正を重ねましたが、誤りを見逃していたりするかもしれません。誤りに気づかれた方は、連絡をお願いいたします。
第1刷(2016年6月20日発行)
- 7頁: 上から6行目の「false に評価されときにループは終了します。」を「false に評価されたときにループは終了します。」に修正(2016.7.5)
- 57頁: 3.1節の第2段落の2行目の「8 ビット、16 ビット、32 ビット、64 ビットあり」を「8 ビット、16 ビット、32 ビット、64 ビットがあり」に修正(2016.6.20)
- 37頁: 最初の段落の最終行の「よう間接的」を「ように間接的」修正(2016.12.10)
- 60頁: 最終段落の2行目の「
unit
」を「uint
」に修正(2016.9.23)
- 61頁: 最初の段落の3行目の「
unit
」を「uint
」に修正(2016.9.23)
- 62頁: 最後のコード例の上から2行目の「' 国'」を「'国'」に修正(余分な空白が入っている)(2017.2.28)
- 62頁: 最後のコード例の上から5行目の「' 国'」を「'国'」に修正(余分な空白が入っている)(2017.2.28)
- 72頁: 最初のコード例の3行目のコメント部分の「
('h' and 'w')
」を「('h'と'w')
」に修正(2020.10.31)
- 76頁: 最後の行の「' 世'」を「'世'」に修正(余分な空白が入っている)(2017.2.28)
- 86頁: 最初の段落の1行目の「役に立つ」を「役立つ」に修正(2016.9.26)
- 98頁: 訳注の「
var s S
」を「var s = make(S, 1)
」に、「s = append(s, s)
」を「s[0] = s
」に修正(2016.9.10)
- 101頁: 最終段落の2行目の「再割り当てを行うかどかを」を「再割り当てを行うかどうかを」に修正(2016.12.19)
- 105頁:「4.3 マップ」の第2段落の6行目の「ありうる値」を「あり得る値」に修正(言葉のゆれを修正)(2020.9.6)
- 115頁: 4.4.1節「構造体」の前のコード内の「// ...first time seeing s...」を「// ...sを初めて見つけた...」に修正(2017.3.13)
- 121頁: 4.5節「JSON」の第4段落の3行目の「JSONの
\Uhhhh
」を「JSONの\uhhhh
」に修正(原著の誤り)(2016.9.26)
- 140頁: 最初のコード例内のコメント「
// push tag
」を「// タグをプッシュ
」に修正(2020.10.31)
- 144頁: 練習問題5.6の「
gopl.io/ch3/surface
(3.1節)」を「gopl.io/ch3/surface
(3.2節)」に修正(2021.11.20)
- 158頁: 第4段落の「第3章で説明したように、」を「第4章で説明したように、」に修正(原著の誤り)(2016.7.6)
- 183頁: コードの後の1行目の「マップへのアクセスを簡単にするために、値が文字列のスライスであるような」を「値が文字列のスライスであるマップへのアクセスを簡単にするために」に修正(2021.11.20)
- 186頁: 第3段落の2行目の「役に立つ」を「役立つ」に修正(2016.9.26)
- 192頁: 練習問題6.3の1行目の「ビット和算子」を「ビット和演算子」に修正(2020.12.13)
- 192頁: 練習問題6.5の3行目の「
unit
」を「uint
」に修正(2016.9.23)
- 198頁: 5行目の「扱われるについては」を「扱われるかについては」に修正(2020.12.13)
- 199頁: 頁の下のコード部分の「c = 0 // reset the counter」を「c = 0 // カウンタをリセット」に修正(2016.6.9)
- 205頁: 上から3行目の「7.4 節で見たように、」を「7.4 節で見ていくように、」に修正(原著の誤り)(2016.7.14)
- 209頁: 練習問題7.7の「°」を「°C」に修正(二カ所)(2016.6.9)
- 226頁: 下から二段落目の「全く異なるインスタンを割り当てます。」を「全く異なるインスタンスを割り当てます。」に修正(2017.6.10)
- 235頁: 練習問題7.13の前の段落の最後から2行目の最後の「修正されています. 図」を「修正されています。図」に修正(2017.6.10)
- 239頁: 最初の段落の4行目の「役に立つ」を「役立つ」に修正(2016.9.26)
- 252頁: 第3段落の2行目の「実行には長い時がかかります」を「実行には長い時間がかかります」に修正(2016.7.14)
- 262頁: 下から5~4行目の「独立に閉じることがきる送信部分」を「独立に閉じることができる送信部分」に修正(2016.6.9)
- 269頁:
mirroredQuery()
関数のコード内のコメント「return the quickest response」を「最も早いレスポンスを返す」に修正(2016.7.14)
- 271頁: 下から2行目の「
makeThumbnails
」を「makeThumbnails2
」に修正(原著の誤り)(2016.7.14)
- 276頁: 練習問題8.5の「3.1節の3-D面」を「3.2節の3-D面」に修正(2016.6.14)
- 294頁: 第2段落の4行目の「身元をつけて」を「身元を付けて」に修正(2016.9.26)
- 298頁: 上から5行目の「競合状態」を「競合状態」(太字)に修正(2021.4.4)
- 316頁: テストの実行例の出力の途中にある空白行を削除(2021.4.4)
- 320頁: 第3段落の最後から2行目の「ゴルーチンによる呼び出しよりも」を「ゴルーチンによる読み出しよりも」に修正(2017.10.15)
- 338頁:
golint
コマンドの正式リポジトリが変更になったので、ページの中程の「go get github.com/golang/lint/golint
」を「go get golang.org/x/lint/golint
」に修正(2018.10.17)
- 348頁: 練習問題10.4の「引数で指定されたパッケージ」を「引数で指定された複数のパッケージ」に修正(2016.8.2)
- 348頁: 練習問題10.4の「最初のパッケージに対して」を「最初の複数のパッケージに対して」に修正(2016.8.2)
- 367頁: 下から2段落目の3行目の「プログラムが発展するに際には」を「プログラムが発展する際には」に修正(2016.8.13)
- 370頁: 下から5行目の「
{"-x * -x", eval.Env{"x": 2}, "4"}
」を「{"+x * -x", Env{"x": 2}, "-4"}
」に修正(原著の誤り)(2016.8.9)
- 380頁:
Sprint
関数のコメント内の「unit32
」を「uint32
」に修正(2016.9.23)
- 393頁: 練習問題12.5の「デコーダをテストしなさい」を「エンコーダをテストしなさい」に修正(2022.2.19)
- 393頁: 練習問題12.7の「
json.Decoder
」を「json.Encoder
」、「S式のデコーダ用」を「S式のエンコーダ用」に修正(原著の誤り)(2016.9.7)
- 400頁: 練習問題12.10の「デコードされる」を「エンコードされる」に修正(2021.2.7)
- 417頁: 最終段落の2行目の「Cソースフィル」を「Cソースファイル」に修正(2017.2.28)
- 421頁: 練習問題13.3の「
bzip2.writer
」を「bzip.writer
」に修正(原著の誤り)(2016.9.7)
- 426頁: 「
go tool -bench
フラグ」を「go test -bench
フラグ」に修正(2021.6.20)
- 426頁: 「
go tool -benchmem
フラグ」を「go test -benchmem
フラグ」に修正(2021.6.20)
- 426頁: 「
go tool -covermode
フラグ」を「go test -covermode
フラグ」に修正(2021.6.20)
- 426頁: 「
go tool -coverprofile
フラグ」を「go test -coverprofile
フラグ」に修正(2021.6.20)
- 426頁: 「
go tool -cpuprofile
フラグ」を「go test -cpuprofile
フラグ」に修正(2021.6.20)
- 436頁: 「
go tool -bench
フラグ」を「go test -bench
フラグ」に修正(2021.6.20)
- 436頁: 「
go tool -benchmem
フラグ」を「go test -benchmem
フラグ」に修正(2021.6.20)
- 436頁: 「
go tool -covermode
フラグ」を「go test -covermode
フラグ」に修正(2021.6.20)
- 436頁: 「
go tool -coverprofile
フラグ」を「go test -coverprofile
フラグ」に修正(2021.6.20)
- 436頁: 「
go tool -cpuprofile
フラグ」を「go test -cpuprofile
フラグ」に修正(2021.6.20)
補足
内容の補足です。
- 226頁(2016.6.23)
- 412頁の下から2段落目の「この本の執筆時点では、Goプログラマが
unsafe.Pointer
をuintptr
へ変換した後に頼ってよい事柄に関しての明確なガイドはほとんどありません(Go のイシュー7192)」と書かれていますが、Go 1.6からunsafe
パッケージのドキュメントに記述されています。(2018.12.18)
謝辞
誤りの指摘を頂きました次の方々に感謝いたします。
加藤 裕、清水 陽一郎、ひふみ(@Hi__Hu__Mi)、中山 洋一、新井 昇平、有賀 功、堂阪 真司、丸本 耕平、計田 真夕、長澤 侑野、吉川 博美、高橋 透、新田 潤平、田村 優友