ISBN 9784297116170

たった1日で基本が身に付く! Go言語 超入門

たった1日で基本が身に付く! Go言語 超入門
著者
清水美樹
出版社
技術評論社
刊行
2020-10

概要

Go言語の文法と実用的な応用を1冊で体系的に習得する

想定読者

プログラミング経験はあるがGo言語は未経験で、まず動くコードを書きながら文法全体を俯瞰したい入門者

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

  • 他言語での実務経験が豊富で、GoのイディオムやConcurrencyパターンを深く掘り下げたいエンジニア
  • goroutineやHTTPサーバーの実装を詳細に学びたい読者(本書の後半はトピック導入にとどまる)
  • Go言語自体を初めて触るプログラミング完全未経験者(変数・制御構文の前提知識がある方が吸収しやすい)

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

  • 開発環境のセットアップからHello Worldまでの手順を自力で完結できる
  • 整数・文字列・配列・ブール型など基本データ型の使い分けができる
  • for・if・switchによる制御構造とGoのゼロ値の概念を理解できる
  • 関数・クロージャ・構造体・メソッド・インタフェースを使ったコード設計ができる
  • ポインタとメモリアドレスの仕組みを、他の入門書では扱いの少ない連結構造の例で把握できる
  • ファイルI/O・画像処理・goroutine・シンプルなWebサーバー構築の動作例を通じて応用の入口をつかめる

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

  • 第 1 章 プログラミングの基本とGo言語の環境構築 — 環境セットアップでつまずく読者が多い章。最初に確実に動かすことが後続の理解を左右する
  • 第 2 章 基本的なデータ型(整数・浮動小数点・文字列・配列・ブール) — Go特有のゼロ値の考え方をここで押さえると後の誤解が減る
  • 第 3 章 制御構造(for / if / switch) — whileがない設計理由を意識しながら読むとGoの思想が見えてくる
  • 第 4 章 関数とクロージャ — 多値返却はJavaやPythonと大きく異なる点で、ここで慣れておくと後のエラーハンドリング章が読みやすい
  • 第 5 章 構造体・メソッド・インタフェース — Qiita上で複数の読者が「わかりやすい」と評価している章。インタフェース設計の基本をここで固める
  • 第 6 章 ポインタとメモリアドレス — 連結構造を使ったポインタ説明は本書独自のアプローチで、他の入門書にはない視点
  • 第 7 章 型変換とエラーハンドリング — Goのエラー値パターンを早期に把握しておくと実務コードの読み書きが楽になる
  • 第 8 章 実践応用(ファイル操作・画像処理・goroutine・Webサーバー) — 各トピックは導入レベルにとどまる。ここで興味を持ったテーマを次の書籍で深掘りするのが効果的な使い方

ハイライト

  • ポインタの説明は他の書籍では説明していないようなnextで次のポインタを保存する構造の説明があった(他書にない独自のポインタ解説アプローチを読者が具体的に指摘しており、本書の差別化要素が端的に表れている)
  • 言語仕様を網羅しつつ初心者向けに内容を絞っており、カラフルなページレイアウトで読みやすい(入門書としての設計方針(網羅性と絞り込みの両立)を評価した記述で、対象読者を判断する手がかりになる)

外部からの言及

  • Go言語の学習書まとめ記事において、プログラミング自体が初めての入門者向けカテゴリに分類されることが多い。他言語経験者には、より踏み込んだ内容の書籍を優先する方が効率的との指摘が複数ある(qiita)
  • 構造体・インタフェースの説明はわかりやすいと評価される一方、goroutineやHTTPの章は導入にとどまり物足りないという意見も見られる。章ごとの難易度の差が大きい(qiita)

編集メモ

Qiita言及3件 / 累計likes約89 / いずれも参考書籍リストとして掲載。essential基準(10件以上 / 200likes以上)には満たないが、Go入門書の選定記事で繰り返し名前が挙がる安定した補完的選択肢

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

  • 変数・関数・条件分岐といったプログラミング基礎概念のいずれかの言語での経験
  • コマンドライン(ターミナル)での基本操作(ディレクトリ移動・コマンド実行)ができること

学習のコツ

  • 1章の環境構築を飛ばさずに手を動かして完了させること。セットアップの成功体験が後続章の理解度を大きく左右する
  • 5章(構造体・インタフェース)は読者評価が高い章のため、他言語の継承モデルと比較しながら読むとGoの設計哲学が見えやすい
  • 8章の各トピック(goroutine・Webサーバー)は動作確認を優先し、内部詳細は次の書籍に委ねる読み方が時間対効果として優れている
  • エラーハンドリングのパターン(戻り値でerrorを返すGoの慣例)は7章で一度整理してから8章に進むと、実用コードの読み書きが格段に楽になる
出版社による内容紹介

本書は,Go言語によるプログラミングを学ぶための入門書です。開発環境のインストールから始まり,Go言語の基本を解説しており、最初の1冊目として最適です。Go言語によるプログラムの作り方の基本から条件分岐や繰り返し、関数、構造体など文法を学習し、最後に入出力、画像処理、並列処理、Go言語によるWebサーバーなどを作成して基礎を固めていきます。

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

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

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