ISBN 9784798142418

スターティングGo言語

スターティングGo言語
著者
松尾愛賀
出版社
翔泳社
刊行
2016-04

概要

Go言語の基本構文から並行処理・パッケージ活用まで体系的に習得する

想定読者

C/C++・Java・Pythonなど他言語の基礎知識があり、Go言語を実務で使い始めたいエンジニア

こんな人には向いていない

  • プログラミング未経験者。本書は他言語経験者を前提に構成されており、変数・関数・制御構文の概念自体は説明しない
  • Go言語の内部実装や高度なアーキテクチャ設計(DDD/クリーンアーキテクチャ等)を学びたい中上級者。網羅よりも入門精度に特化している
  • Go 1.6以降の新機能(モジュールシステム・ジェネリクスなど)を最新の文法で学びたい読者。出版が2016年であり、その後の言語進化はカバーしていない

読了後にできるようになること

  • Go言語の基本構文(変数・型・演算子・制御構文・関数)を他言語比較の視点で理解できる
  • スライス・マップ・チャネルの参照型の特性を把握し、適切に使い分けられる
  • ゴルーチンとチャネルを使った並行処理の基礎を実装できる
  • 構造体とインターフェースによるGoらしい型設計の考え方を習得できる
  • os・net/http・encoding/jsonなど実務頻度の高い標準パッケージの使い方を学べる
  • go buildやgo testなどGoツール群の基本的な操作に習熟できる

本書のキー概念(章解説)

  • 第 1 章 開発環境の準備(Windows・macOS・Linux対応) — OS別のセットアップ手順が丁寧で、環境構築でつまずきやすい初学者にとっての最初の障壁を取り除く構成
  • 第 2 章 プログラムの構造と実行
  • 第 3 章 言語の基礎(変数・型・演算子・関数・制御構文) — 他言語経験者向けに比較視点で解説されており、Go固有の仕様(多値返却・名前付き戻り値等)が整理されている
  • 第 4 章 参照型(スライス・マップ・チャネル) — Goの並行処理の中核であるチャネルがここで登場する。ゴルーチンとセットで理解するための布石となる章
  • 第 5 章 構造体とインターフェース(ポインタ・メソッド・タグ) — GoがOOPをどのように実現しているかを理解する核心章。インターフェースの暗黙実装は概念の転換が求められる
  • 第 6 章 Goのツール群とコマンド
  • 第 7 章 Goの標準パッケージ活用(os・time・math・strings・json・net/http等) — 実務で直接使えるパッケージが集中的に解説されており、読了後すぐに業務コードに応用できる

ハイライト

  • 基本構文から、ゴルーチンなどの特徴的な機能、開発ツールやパッケージの使い方まで、Goプログラムを書いてみたい方に必要な知識を解説しています(本書のカバー範囲を最も端的に示す記述。入門から並行処理まで一冊で完結させる設計意図がわかる)
  • 使用頻度の高いパッケージの使い方は集中的に解説。巻末には標準ライブラリのパッケージカタログを付けました(標準ライブラリのリファレンスカタログを付録として持つ点が、他のGo入門書との差別化要素)

外部からの言及

  • Go入門の学習記録を投稿するQiita記事のうち複数が本書を参照書として挙げており、スイッチ構文・クロージャ・制御フローなど基礎文法の学習時に副読書として活用されているパターンが見られる(qiita)
  • 3年間の技術書振り返り記事などでGo言語入門書のひとつとして言及されており、Go学習初期のロードマップ上に位置づけられることが多い。一方で言語バージョンの古さ(Go 1.6)を明記した言及もあり、最新文法との差分を別途補う必要がある点が暗黙的に示されている(qiita)

編集メモ

Qiita言及記事数は6件前後、累計likes数は約9件と少なく、essentialやpracticalの閾値には届かない。Goを学ぶ過程で参照書として挙げられることはあるが、高いいいね数を得る技術解説記事の主要リファレンスには至っていない。Go 1.6対応書という出版年(2016年)の制約も引用頻度を下げる一因と見られる

読む前に押さえておきたいこと

  • いずれかのプログラミング言語での実装経験(C/C++・Java・Python等)。変数・関数・ループの概念は前提
  • コマンドライン操作の基本(ディレクトリ移動・ファイル操作・パスの概念)

学習のコツ

  • 第4章(参照型)と第5章(構造体・インターフェース)はGoの独自性が最も凝縮した章。C++やJavaの感覚を一度外して読むと理解が速い
  • 第7章のパッケージ解説は逐次通読より、実際に使いたい場面で該当箇所を引く辞書的な使い方が実務的。巻末カタログと合わせて参照する
  • ゴルーチン・チャネルは第4章で触れた後も第7章のnet/httpで再登場する。並行処理の実感は第7章のHTTPサーバー実装まで読んで初めて得やすい
  • Go 1.6以降の変化(モジュールシステム・ジェネリクスなど)は本書ではカバーされないため、読了後は公式のGo Tourや公式ブログで差分を補うことを想定しておく
出版社による内容紹介

本書は、次世代のプログラミング言語として注目を浴びる「Go言語」をこれから学ぶ人のための学習書です。基本構文から、ゴルーチンなどの特徴的な機能、開発ツールやパッケージの使い方まで、Goプログラムを書いてみたい方に必要な知識を解説しています。Go言語の最新バージョン1.6に対応。使用頻度の高いパッケージの使い方は集中的に解説。巻末には標準ライブラリのパッケージカタログを付けました。便利で役立つ一冊です。

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。