Go 1.6に対応!
構文や動作を「なぜ・どうして」から解説。
読みやすさ、理解の深さを追求したGo入門書!
本書は、Goプログラミングをこれから始める方のための学習書です。Go言語の基本的な構文から、特徴的な機能、開発ツールや使用頻度の高いパッケージの使い方まで、実際にプログラムを書いてみたい方に必要な知識を解説しています。
Go言語の最新バージョン1.6に対応。データ型からチャネルとゴルーチンなどの特徴的な機能、各種パッケージまで、コード例をふんだんに使って「なぜそうなるのか」から説明していますので、C/C++、Java、C#、PythonやPHP、Rubyなど何かしらのプログラミング言語を学んだ方であれば「なるほど、なるほど」と腹落ちしながら読み進められます。
使用頻度の高いパッケージの使い方は集中的に解説するほか、巻末には標準ライブラリのパッケージカタログ付き。座右において便利に使える一冊です。
■Go言語とは
Go言語(Golangとも呼ばれます)は、2009年に米Googleが公開したプログラミング言語です。構文は簡潔で可読性が高く、コンパイル言語ゆえの安全性とインタプリタ言語のような開発の軽快さを両立し、マルチコアや並行処理などに対応していることから、次世代のソフトウェア開発を支えるプログラミング言語の1つと期待されています。
書籍への問い合わせ
正誤表、追加情報をご確認の上、こちら よりお問い合わせください
書影の利用許諾について
本書籍に関する利用許諾申請はこちら になります
ご購入いただいた書籍の種類を選択してください。
書籍・SEshop限定PDF
電子書籍
刷数は奥付(書籍の最終ページ)に記載されています。
現在表示されている正誤表の対象書籍
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
正誤表を選びなおす
最終更新日:2021年02月18日
発生刷
ページ数
書籍改訂刷
電子書籍訂正
内容
登録日
1刷
033
表2.1
2刷
済
誤
正
備
考
※「サル」の「エサ」は正しくは "Banana" です。
2016.07.15
1刷
087
2つ目の網掛け部分 最終行
2刷
済
誤
5 % 2 // 剰余:3
正
5 % 2 // 剰余:1
2018.02.08
1刷
095
表3.25 単項演算子「^x」の補足
2刷
済
誤
正
備
考
xが符号付き整数の場合はmの全ビットは-1 、xが符号なし整数の場合は1 が正しいです。
2016.08.22
1刷
095
表3.24 「X && Y」の「Yの評価」
2刷
済
誤
正
備
考
最上部の「X && Y」の「Yの評価」の「○」が抜けていました。
2016.05.20
1刷
098
2つめの網掛け部分
2刷
済
誤
func div(a, b int) ( int, int) // コンパイルエラー
正
func div(a, b int) int, int // コンパイルエラー
備
考
「()」を削除します。
2016.05.12
1刷
134
「continue」のコード
未
未
誤
正
2020.07.15
1刷
161
網掛け部分
2刷
済
誤
s := make(int[] , 5, 10)
正
s := make([] int, 5, 10)
2017.02.24
1刷
162
「簡易スライス式」の網掛け 3行目
2刷
済
誤
fmt.Println(s) // => "[0 , 1 ]"
正
fmt.Println(s) // => "[1 , 2 ]"
2016.05.12
1刷
163
表4.2 「a[0:2]」の「結果」
2刷
済
2016.05.12
1刷
170
上から2行目
2刷
済
誤
ループの処理ごとに評価され、偽 の値を返し続けるからです。
正
ループの処理ごとに評価され、真 の値を返し続けるからです。
2016.08.22
1刷
184
上部のコード部分
4刷
未
誤
/* 変数ch1はint型の「送信専用」チャネル */
var ch2 chan<- int
正
/* 変数ch2はint型の「送信専用」チャネル */
var ch2 chan<- int
2019.12.24
1刷
213
最終行
2刷
済
誤
プログラムの柔軟性や読解姓 を
正
プログラムの柔軟性や読解性 を
2017.02.24
1刷
224
上から本文3行目
2刷
済
誤
次の例では、* IntPoint型とFloatPoint型の
正
次の例では、IntPoint型とFloatPoint型の
備
考
IntPoint型にある「*」は不要でした。
2016.08.22
1刷
225
網掛け部分 14行目
2刷
済
誤
/* []stringへのエイリアスMy String */
正
/* []stringへのエイリアスString */
2016.05.12
1刷
236
2つ目の網掛け部分 13行目
2刷
済
誤
return MyError{Message: "エラーが発生しました", ErrCode: 1234}
正
return & MyError{Message: "エラーが発生しました", ErrCode: 1234}
2016.05.24
1刷
237
1つめの網掛け部分 2行目
2刷
済
誤
e, ok := err.(MyError)
正
e, ok := err.(* MyError)
2016.05.24
1刷
270
一番上のソースコード 2行目
未
未
誤
var VERSION = "1.5"
正
const VERSION = "1.5"
2021.02.18
1刷
276
上部のソースコード上から9行目
2刷
済
誤
n, err := f.ReadAt(bs, 10) // 10バイトから目
正
n, err := f.ReadAt(bs, 10) // 10バイト目から
2016.08.22
1刷
303
表7.4 「出力」と「補足」
2刷
済
誤
%8.2f | 123.456 | "123.46 " | 小数点以下2桁に丸め、全体を8桁で左詰め
%-8.2f | 123.456 | " 123.45" | 小数点以下2桁に丸め、全体を8桁で右詰め
正
%8.2f | 123.456 | " 123.45" | 小数点以下2桁に丸め、全体を8桁で右詰め
%-8.2f | 123.456 | "123.46 " | 小数点以下2桁に丸め、全体を8桁で左詰め
備
考
説明文を入れ替えます。
2017.02.24
1刷
304
表7.4 浮動小数点型・複素数型の書式指定子
未
未
誤
(画像クリックで拡大)
正
(画像クリックで拡大)
2021.02.18
1刷
310
「真偽値を文字列に変換する」1行目
3刷
済
誤
関数strconv.FormatBoot では、
正
関数strconv.FormatBool では、
2018.11.21
1刷
324
上部のコード部分
4刷
未
誤
/* バッファ化された出力を生成 */
bw := bufio.NewWriter(w)
bw := bufio.NewWriterSize(r, 8192) // バッファサイズを指定
正
/* バッファ化された出力を生成 */
bw := bufio.NewWriter(w)
bw := bufio.NewWriterSize(w, 8192) // バッファサイズを指定
2019.12.24