正誤表
下記の誤りや改良点等が見つかりました。ご連絡いただいた方、ありがとうございます。お気づきの点は、ご連絡ページからお知らせいただければ幸いです。
● 日付(2023.11.29など)はこのページに記載した日です
● 日付が赤茶色になっているものは最近の追加です
重要な変更(実行に支障があるものなど)
-
p. 168 最初のコードの前(「7.13 暗黙のインタフェースによる依存性注入」の最初のコードの前)。2022.11.8掲載。第2刷で追加予定
ログを記録する関数 LogOutput を定義します。↓(例のファイルを追加しました)
ログを記録する関数 LogOutput を定義します(ch07/ex0720.go)。 -
p. 171 6行目(「7.13 暗黙のインタフェースによる依存性注入」の中ほどより少し下の関数定義)。2022.11.8掲載。第1刷
func (c Controller) HandleGreeting(w http.ResponseWriter, r *http.Request) {↓
func (c Controller) SayHello(w http.ResponseWriter, r *http.Request) { -
p. 397 下から6行目(「B.2.3 実行結果」の上)。2022.10.14掲載。第1刷。2022.10.7版には間違いがありました。すみません
逆に、たとえば Windows で次を実行すると macOS(Intelプロセッサ用)の実行ファイル ができます。
$ GOOS=darwin GOARC=amd64 go build -o fmt-verb-mac
Mac にコピーして、実行パーミッションを付加すれば(chmod +x fmt-verb-mac)実行できるようになります。
詳しくはhttps://musha.com/scgo?ln=ax04を参照してください。
逆に、たとえばWindowsのPowerShellで次を実行するとmacOS(Intelプロセッサ用)の実行ファイルができます(M1プロセッサの場合はamd64の代わりにarm64を指定します)。
$Env:GOOS = "darwin"; $Env:GOARCH = "amd64"; go build -o fmt-verb-mac
Mac にコピーして、実行パーミッションを付加すれば(chmod +x fmt-verb-mac)実行で きるようになります。
詳しくはhttps://musha.com/scgo?ln=ax04やhttps://musha.com/scgo?ln=ax06などを参照してください。
-
p. 399 下から2行目(「B.3 基本構文と標準入出力」の本文2行目あたり)。2022.10.14掲載。第1刷
「run main.go」↓
「go run main.go」
事実と異なるものなど
-
p. 21 「2.1.2.4 文字列リテラル」の2行目〜6行目の3箇所、および p. 427 の索引。2023.11.29掲載。第1刷
解釈済み文字列リテラル↓
解釈される文字列リテラル
"interpreted"は、たとえば「\n」などが文字どおり「バックスラッシュ」と「n」ではなく、改行(Line Feed)として扱われるという意味なので、「解釈される」のほうがよいですね。わかりやすくするなら、「エスケープシーケンス含有可能文字列リテラル」とかでしょうか...(「解釈」はちょっと気持ち悪いのですが、よりよい訳が思いつきません)。 -
p. 23 「2.1.4.1 整数型」の1行目。2023.3.17掲載。第1刷
1 バイトから 4 バイトまでの↓
1 バイトから 8 バイトまでの -
p. 211 「9.4.3 ミニマルバージョン選択」の最初の段落。2023.3.9掲載。第1刷
このとき、A、B、C が依存するCのバージョンが異なる場合にはどうしたらよいのでしょうか。↓
このとき、A、B、C が依存するDのバージョンが異なる場合にはどうしたらよいのでしょうか。
入力ミスなど
-
p. 27 「2.1.4.6 複素数型」の2行目。2023.3.17掲載。第1刷
(まった知らない)↓
(まったく知らない) -
p. 39 上から4行目(3章の最初のメモ
)。2023.11.22掲載。第1刷
この章のリスト番号の付いていないコード例は ch03/ex0300.go にあります。↓
この章のコード例のうち、リスト番号の付いていないものについては ch03/ex0300.go に入っています。 -
p. 44 コラム「Goのランタイム」の下から3行目(「3.2.3 スライスのキャパシティ」の中)。2023.10.11掲載。第1刷
Go 言語のラインタイムは↓
Go 言語のランタイムは -
p. 52 下から9行目(「3.3 文字列、rune、バイト」の最初のコードの下の説明)。2022.11.25掲載。第1刷
fmt.Pprintfで%s。↓
fmt.Printfで%s。 -
p. 69 下から7行目(「例4-3」の下)。2022.9.15掲載。第1刷
エラーメッセージが表示れます。↓
エラーメッセージが表示されます。 -
p. 93 例5-1の前。2023.2.28掲載。第1刷
0で割ろうとする0を返してくれる関数です↓
0で割ろうとすると0を返してくれる関数です -
p. 123 図6-3の②。2023.1.18掲載。第1刷
failedvpdate↓
failedUpdate -
p. 133 下から2行目(「6.9 ガベージコレクタの負荷軽減策」の2つ目の補足(カラスのマーク)のすぐ後の段落の2番目の文)。2023.3.26掲載。第1刷
ヒープにエスケープしてしまう場合がありますしかし、↓
ヒープにエスケープしてしまう場合があります。しかし、 -
p. 169 下から7行目(「7.13 暗黙のインタフェースによる依存性注入」のSayHelloの定義)。2022.11.8掲載。第1刷
return name + "さんこんにちは。", nil↓
return name + "さん、こんにちは。", nil -
p. 264の最後のリスト「11.3.1 構造体タグを使ったメタデータの付加」のch11/3json/testdata/data.jsonのリスト)。2022.11.22掲載。第1刷
"da e_ordered":"2020-05-01T13:01:02Z", "cus omer_id":"3", "i ems":[{"id":"xyz123","name":"物品1"},{"id":"abc789","name":"物品2"}]
"date_ordered":"2020-05-01T13:01:02Z", "customer_id":"3", "items":[{"id":"xyz123","name":"物品1"},{"id":"abc789","name":"物品2"}]
-
p. 280 func logicの定義の下「12.1 コンテキストとは」の冒頭)。2023.6.28掲載。第1刷
パッケージ context には、インタフェース Context を定義するだけでなく、
パッケージ context には、インタフェース Context が定義されているだけでなく、
-
p. 329 9行目(「14.1.1 型(type)、型情報(kind)、値(value)」の上の「カラスマーク」の上)
2022.11.22掲載。第1刷
フォーマットに用いられるというう点です。↓
フォーマットに用いられるという点です。 -
p. 399 3行目(「B.3 基本構文と標準入出力」の上、7つ目の段落の最後から2番目の文)
2023.3.20掲載。第1刷(読みやすくするため)
Printf とP が大文字になっています↓
Printf と、Pが大文字になっています -
p. 401のソースコード(ch22b/02guessnum2/main.go)およびp. 402のソースコード(ch22b/03guessnum-switch/main.go)
2023.9.15掲載。第1刷
関数readUserAnswerに引数を渡していますが、この引数は使われていないので不要でした。