スターティングGo言語(松尾 愛賀)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. スターティングGo言語

スターティングGo言語


形式:
書籍
発売日:
ISBN:
9784798142418
定価:
3,278(本体2,980円+税10%)
仕様:
A5・432ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
レーベル:
CodeZine BOOKS
紙の書籍

Go 1.6に対応!
構文や動作を「なぜ・どうして」から解説。
読みやすさ、理解の深さを追求したGo入門書!

本書は、Goプログラミングをこれから始める方のための学習書です。Go言語の基本的な構文から、特徴的な機能、開発ツールや使用頻度の高いパッケージの使い方まで、実際にプログラムを書いてみたい方に必要な知識を解説しています。

Go言語の最新バージョン1.6に対応。データ型からチャネルとゴルーチンなどの特徴的な機能、各種パッケージまで、コード例をふんだんに使って「なぜそうなるのか」から説明していますので、C/C++、Java、C#、PythonやPHP、Rubyなど何かしらのプログラミング言語を学んだ方であれば「なるほど、なるほど」と腹落ちしながら読み進められます。

使用頻度の高いパッケージの使い方は集中的に解説するほか、巻末には標準ライブラリのパッケージカタログ付き。座右において便利に使える一冊です。

■Go言語とは
Go言語(Golangとも呼ばれます)は、2009年に米Googleが公開したプログラミング言語です。構文は簡潔で可読性が高く、コンパイル言語ゆえの安全性とインタプリタ言語のような開発の軽快さを両立し、マルチコアや並行処理などに対応していることから、次世代のソフトウェア開発を支えるプログラミング言語の1つと期待されています。

はじめに
Goとは
Goの特徴
本書の想定読者
本書の構成
対象とするGoのバージョン

Chapter 1:開発環境
~ Windows・OS X・LinuxへのGoのインストール
1.1 はじめに
1.2 公式ページ
1.3 Goのダウンロード
1.4 Windows環境への導入
1.5 OS X環境への導入
1.6 Linux環境への導入
1.7 SCMとの連携
1.8 開発環境について

Chapter 2:プログラムの構成と実行
~ Goプログラムの書き方とビルド・実行・パッケージ作成
2.1 はじめに
2.2 テキストエディターとエンコーディング
2.3 go run
2.4 プログラムのビルド
2.5 パッケージと構成

Chapter 3:言語の基本
~変数・型・演算子・関数・定数・スコープ・制御構文・ゴルーチン
3.1 コメント
3.2 文
3.3 定義済み識別子
3.4 コード例の表記について
3.5 fmtパッケージ
3.6 変数
3.7 基本型
3.8 配列型
3.9 interface{}とnil
3.10 演算子
3.11 関数
3.12 定数
3.13 スコープ
3.14 制御構文

Chapter 4:参照型
~スライス・マップ・チャネル
4.1 参照型とは
4.2 組み込み関数make
4.3 スライス
4.4 マップ
4.5 チャネル

Chapter 5:構造体とインターフェース
~ポインタ・構造体・メソッド・タグ・インターフェース
5.1 はじめに
5.2 ポインタ
5.3 構造体
5.4 インターフェース

Chapter 6:Goのツール
~さまざまなGoコマンド
6.1 Goのツール群について
6.2 goコマンド
6.3 go version
6.4 go env
6.5 go fmt
6.6 go doc
6.7 go build
6.8 go install
6.9 go get
6.10 go test
6.11 ベンダリング

Chapter 7:Goのパッケージ
~よく使われるパッケージとコーディング例
7.1 はじめに
7.2 os
7.3 time
7.4 math
7.5 math/rand
7.6 flag
7.7 fmt
7.8 log
7.9 strconv
7.10 unicode
7.11 strings
7.12 io
7.13 bufio
7.14 ioutil
7.15 regexp
7.16 json
7.17 net/url
7.18 net/http
7.19 sync
7.20 crypto/*

巻末付録:Go標準ライブラリオーバービュー

付属データはこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
この商品の「よくある質問」はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2024年05月31日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 033
表2.1
2刷
表2.1 誤り
表2.1 修正

※「サル」の「エサ」は正しくは "Banana" です。
2016.07.15
1刷 087
2つ目の網掛け部分 最終行
2刷
5 % 2 // 剰余:3
5 % 2 // 剰余:1

※リフローEPUBの場合、表3.13のすぐ上のコードが該当箇所になります。
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 // コンパイルエラー

「()」を削除します。

※リフローEPUBの場合、Chapter 3の「3.11 関数」の4つ目の見出し「複数の戻り値」の2つ目のコード(グレー地の枠)が該当箇所になります。
2016.05.12
1刷 133
「古典的for」1つ目のコード
/* 変数iが100に到達するまで繰り返すループ処理 */ for i := 0; i < 100; i++ {      fmt.Println(i)      i++ }
/* 変数iが100に到達するまで繰り返すループ処理 */ for i := 0; i < 100; i++ {      fmt.Println(i) }
2024.05.31
1刷 134
「continue」のコード
5刷

2つあった「i++」のうち、下から2行目の「i++」を削除します。

※リフローEPUBの場合、Chapter 3の「3.14 制御構文」の2つ目の見出し「for」の5つ目の小見出し「continue」のコード(グレー地の枠)が該当箇所になります。
2020.07.15
1刷 161
網掛け部分
2刷
s := make(int[], 5, 10)
s := make([]int, 5, 10)

※リフローEPUBの場合、Chapter 4の「4.3 スライス」の3つ目の見出し「cap」の2つ目のコード(グレー地の枠)が該当箇所になります。
2017.02.24
1刷 162
「簡易スライス式」の網掛け 3行目
2刷
fmt.Println(s) // => "[0, 1]"
fmt.Println(s) // => "[1, 2]"

※リフローEPUBの場合、Chapter 4の「4.3 スライス」の5つ目の見出し「簡易スライス式」の最初のコード(グレー地の枠)が該当箇所になります。
2016.05.12
1刷 163
表4.2 「a[0:2]」の「結果」
2刷
[0, 1]
[1, 2]
2016.05.12
1刷 170
上から2行目
2刷
ループの処理ごとに評価され、の値を返し続けるからです。
ループの処理ごとに評価され、の値を返し続けるからです。

※リフローEPUBの場合、Chapter 4の「4.3 スライス」の9つ目の見出し「スライスとfor」の最初のコード(グレー地の枠)のすぐ下にある段落が該当箇所になります。
2016.08.22
1刷 184
上部のコード 3行目
4刷
/* 変数ch1はint型の「送信専用」チャネル */ var ch2 chan<- int
/* 変数ch2はint型の「送信専用」チャネル */ var ch2 chan<- int

※リフローEPUBの場合、Chapter 4の「4.5 チャネル」の最初の見出し「チャネルの型」の2つ目のコード(グレー地の枠)が該当箇所になります。
2019.12.24
1刷 213
最終行
2刷
プログラムの柔軟性や読解
プログラムの柔軟性や読解

※リフローEPUBの場合、Chapter 5の「5.3 構造体」の5つ目の見出し「複合リテラル」の最後の段落が該当箇所になります。
2017.02.24
1刷 224
上から本文3行目
2刷
次の例では、*IntPoint型とFloatPoint型の
次の例では、IntPoint型とFloatPoint型の

IntPoint型にある「*」は不要でした。

※リフローEPUBの場合、Chapter 5の「5.3 構造体」の11個目の見出し「メソッド」の4つ目のコード(グレー地の枠)のすぐ下にある段落が該当箇所になります。
2016.08.22
1刷 225
網掛け部分 14行目
2刷
/* []stringへのエイリアスMyString */
/* []stringへのエイリアスString */

※リフローEPUBの場合、Chapter 5の「5.3 構造体」の11個目の見出し「メソッド」の7つ目のコード(グレー地の枠)内、4つ目のコメント行が該当箇所になります。
2016.05.12
1刷 236
2つ目の網掛け部分 13行目
2刷
return MyError{Message: "エラーが発生しました", ErrCode: 1234}
return &MyError{Message: "エラーが発生しました", ErrCode: 1234}

※リフローEPUBの場合、Chapter 5の「5.4 インターフェース」の2つ目の見出し「代表的なインターフェースerror」の3つ目のコード(グレー地の枠)内、下から5行目(空行含む)が該当箇所になります。
2016.05.24
1刷 237
1つめの網掛け部分 2行目
2刷
e, ok := err.(MyError)
e, ok := err.(*MyError)

※リフローEPUBの場合、Chapter 5の「5.4 インターフェース」の2つ目の見出し「代表的なインターフェースerror」の4つ目のコード(グレー地の枠)内、2行目が該当箇所になります。
2016.05.24
1刷 270
一番上のソースコード 2行目
5刷
var VERSION = "1.5"
const VERSION = "1.5"

※リフローEPUBの場合、Chapter 6の「6.11 ベンダリング」の最初の見出し「ベンダリングの実例」の4つ目のコード(グレー地の枠)「■$GOPATH/src/X/x.go」の2行目が該当箇所になります。
2021.02.18
1刷 276
上部のソースコード上から9行目
2刷
n, err := f.ReadAt(bs, 10) // 10バイトから目
n, err := f.ReadAt(bs, 10) // 10バイト目から

※リフローEPUBの場合、Chapter 7の「7.2 os」の4つ目の見出し「ファイル操作」の3つ目のコード(グレー地の枠)、上から9行目(空行含む)が該当箇所になります。
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の重複行を削除
5刷

(画像クリックで拡大)

(画像クリックで拡大)

「% -12.2e」の行が重複しているため、片方を削除します。
2021.02.18
1刷 310
「真偽値を文字列に変換する」1行目
3刷
関数strconv.FormatBootでは、
関数strconv.FormatBoolでは、

※リフローEPUBの場合、Chapter 7の「7.9 strconv」の最初の見出し「真偽値を文字列に変換する」の本文1行目が該当箇所になります。
2018.11.21
1刷 324
上部のコード部分 3つ目のブロック
4刷
/* バッファ化された出力を生成 */ bw := bufio.NewWriter(w) bw := bufio.NewWriterSize(r, 8192) // バッファサイズを指定
/* バッファ化された出力を生成 */ bw := bufio.NewWriter(w) bw := bufio.NewWriterSize(w, 8192) // バッファサイズを指定

「r」を「w」に修正しました。
※リフローEPUBの場合、Chapter 7の「7.13 bufio」の4つ目の見出し「入出力のバッファ処理」のコード(グレー地の枠)が該当箇所になります。
2019.12.24

感想・レビュー

fseigojp さん

2017-08-14

あえてトリッキーを捨てた言語とみた

baboocon さん

2016-12-08

超速読で読了。Go言語の文法と Go言語処理系に組込まれているツールとパッケージ、標準ライブラリの解説。Go言語の基礎を押さえておきたいならこれ一冊で十分かも知れない。

HANA さん

2018-09-27

Goの入門書として。実際に書く内容はそこまで多くないのでルールブック的な。どういった機能があるかは分かったので色々と作って理解を深めたいと思う。