この記事を読むのに必要な時間:およそ 0.5 分
お詫びと訂正(正誤表)
本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。
P.12 4行目
誤 |
それ意外はlibcに依存しません。 |
正 |
それ以外はlibcに依存しません。 |
P.141 9行目
誤 |
func body(b []byte) []byte {
|
正 |
func encodeBody(b []byte) []byte {
|
P.38 下から5行目
誤 |
mapは順を持たないキーと値のペアです。 |
正 |
mapは順序を持たないキーと値のペアです。 |
P.232 1行目
誤 |
$ ./main -t 2022-11-26T08:23:05Z07:00
|
正 |
$ ./main -t 2022-11-26T08:23:05+09:00
|
P.45 本文4行目
誤 |
underling type |
正 |
underlying type |
P.314 索引「U」の項目1つめ
誤 |
underling type |
正 |
underlying type |
P.224 リスト9.19のキャプション
誤 |
TestFindEntrieの変更個所 |
正 |
TestFindEntriesの変更個所 |
P.224 リスト9.20 のキャプション
誤 |
最終的なTestFindEntrieの実装 |
正 |
最終的なTestFindEntriesの実装 |
P.57 本文2行目
誤 |
「one two hree」 |
正 |
「one two three」
|
P.114
誤 |
.
├── cmd
│ └── awesome
│ ├── awesome
│ └── main.go
|
正 |
.
├── cmd
│ └── awesome
│ └── main.go
|
※「cmd/awesome/awesome」が余計でした。
P.64 端末画面
誤 |
$ go mod tidy -replace github.com/mattn/foobar=.. |
正 |
$ go mod tidy -replace github.com/mattn/foobar=../ |
P.64 リスト最終行
誤 |
replace github.com/mattn/blahblah => ..
|
正 |
replace github.com/mattn/foobar => ../
|
P.64 本文6行目
誤 |
examplesで使われているblahblahは、github.com/mattn/blahblahからではなく |
正 |
examplesで使われているfoobarは、github.com/mattn/foobarからではなく |
P.206 リスト9.1 15行目
P.209 リスト9.7 7行目
誤 |
author := doc.Find("table[summary=作家データ] tr:nth-child(1) td:nth-child(2)").Text()
|
正 |
author := doc.Find("table[summary=作家データ] tr:nth-child(2) td:nth-child(2)").First().Text()
|
P.210 リスト9.8 8行目
誤 |
author := doc.Find("table[summary=作家データ]:nth-child(1) tr:nth-child(2) td:nthchild(2)").Text()
|
正 |
author := doc.Find("table[summary=作家データ] tr:nth-child(2) td:nth-child(2)").First().Text()
|
※「nth-child(1) 」が余計でした。
P.228 リスト9.22 9行目
誤 |
name := flag.String("name", "somthing", "my name")
|
正 |
name := flag.String("name", "something", "my name")
|
P.229 1つめの端末画面 6行目
誤 |
my name (default "somthing")
|
正 |
my name (default "something")
|
P.229 本文5~6行目
誤 |
time.Duratoinがあります。 |
正 |
time.Durationがあります。 |
P.250 2つめのリスト 8行目
P.212 8行目
誤 |
findZipURLやfindEntriesを試験したくなった際には、 |
正 |
findAuthorAndZIPやfindEntriesを試験したくなった際には、 |
P.213 本文1行目
誤 |
bytes.NewReaderを使ってZIPファイルを読み込みます。 |
正 |
zip.NewReaderを使ってZIPファイルを読み込みます。 |
P.221 表9.4 データベース照会プログラムの仕様
誤 |
aozora-search artists |
正 |
aozora-search authors |
P.59 リスト3.12 下から13行目
※「_,」が余計でした。
P.150 リスト6.4 下から13行目
誤 |
for _, b := range ch {
r:=csv.NewReaderでbytes.NewReader(r))
|
正 |
for b := range ch {
r:=csv.NewReaderでbytes.NewReader(b))
|
※「_,」が余計でした。
P.80 リスト4.5 9行目
誤 |
func (i Fluit) String() string {
|
正 |
func (i Fruit) String() string {
|
P.81 本文3行目
P.81 本文4行目
P.153 リスト6.7 15行目
誤 |
// fanIn is itself a generator
|
正 |
|
P.153 リスト6.7 16行目
誤 |
// receives two read-only channels
|
正 |
// 2つの読み取り専用channelから読み取り
|
P.154 リスト6.7 12行目
誤 |
// returns receive-only channel
|
正 |
|
P.154 リスト6.7 14行目
P.155 リスト6.8 12行目
誤 |
// returns receive-only channel
|
正 |
|
P.155 リスト6.8 23行目
P.156 リスト6.9 11行目
誤 |
// returns receive-only channel
|
正 |
|
P.156 リスト6.9 13行目
P.157 リスト6.10 13行目
誤 |
// returns receive-only channel
|
正 |
|
P.157 リスト6.10 15行目
P.157 リスト6.10 19行目
P.158 リスト6.11 3行目
誤 |
// returns receive-only channel
|
正 |
|
P.158 リスト6.11 5行目
P.158 リスト6.11 9行目
P.217 1つめのコード7行目
誤 |
res, err = db.Exec(`INSERT INTO contents(author_id, title_id, title, content) values(?, ?, ?, ?)`,
"000879",
"14",
"あばばばば",
content,
)
if err != nil {
log.Fatal(err)
}
|
正 |
res, err := db.Exec(`INSERT INTO authors(author_id, author) values(?, ?)`,
"000879",
"芥川竜之介",
)
if err != nil {
log.Fatal(err)
}
res, err = db.Exec(`INSERT INTO contents(author_id, title_id, title, content) values(?, ?, ?, ?)`,
"000879",
"14",
"あばばばば",
content,
)
if err != nil {
log.Fatal(err)
}
|
奥付ページ
誤 |
https://gihyo.jp/book/2022/978-4-297-13419-8/support |
正 |
https://gihyo.jp/book/2023/978-4-297-13419-8/support |
本文全体
P.15
誤 |
Pythonで言うvenv |
正 |
Pythonで言うpyenv |
P.83 リスト4.7 24行目
誤 |
type Data struct {
Species string `json:"species"`
Description string `json:"description"`
Dimensions Dimensions `json:"dimensions"`
}
|
正 |
type Data struct {
Species string `json:"species"`
Description string `json:"description"`
Dimensions Dimensions `json:"dimensions"`
}
|
※インデントがずれていました。
P.40 4つめのコード
P.167 リスト7.4 16行目
誤 |
{name: "rhs is shorter than rhs", lhs: "fo", rhs: "foo", want: -1}, |
正 |
{name: "lhs is shorter than rhs", lhs: "fo", rhs: "foo", want: -1}, |
P.197 本文3行目
P.294 リスト12.8 8行目
誤 |
err := db.Schema.Create(context.Background() |
正 |
err := db.Schema.Create(context.Background()) |
P.39 3つめのコード5行目
誤 |
fmt.Println(m) // map[Bob:2 John:1 Mark:3]が表示される
|
正 |
fmt.Println(m) // map[Bob:18 John:21 Mark:33]が表示される
|
P.84 3つめのコード
誤 |
var data Data
dec := json.NewDecoder(f)
scanner := bufio.NewScanner(conn)
for scanner.Scan() {
line := scanner.Text()
// 行ごとにJSONをデコード
err := dec.Decode(&data)
if err != nil {
break
}
doSomething(&data)
}
|
正 |
var data Data
dec := json.NewDecoder(f)
for {
err := dec.Decode(&data)
if err != nil {
break
}
doSomething(&data)
}
|
P.99 下から11行目
誤 |
windowsかつ386 |
正 |
windowsまたは386 |
P.119 2行目
誤 |
シュガーになっています |
正 |
シンタックスシュガーになっています |
P.234~235 端末画面
誤 |
COMMANDS:
list list students
help, h Shows a list of commands or help for one command
|
正 |
COMMANDS:
help, h Shows a list of commands or help for one command
|
※listからはじまる行が余計でした。
P.237 2つめの端末画面
誤 |
"Go言語 好き太郎 golang@example.com>"
|
正 |
"Go言語 好き太郎 <golang@example.com>"
|
P.237 2つめのコード3行目
誤 |
Go言語 好き太郎 golang@example.com>
|
正 |
Go言語 好き太郎 <golang@example.com>
|
P.42 1つめのコード2行目
「w」が余計でした。
P.89 1つめのコード5~6行目
誤 |
if err != nil {
log.Fatal(err) // 4m0s
}
fmt.Println(d)
|
正 |
if err != nil {
log.Fatal(err)
}
fmt.Println(d) // 4m0s
|
P.168 7行目
誤 |
Deve Cheney |
正 |
Dave Cheney |
P.205 1つめの端末画面下の注記
誤 |
ご自身のGitHubに置き換え |
正 |
ご自身のGitHubユーザ名に置き換え |
P.274 本文2行目