Go言語を勉強したいけど、どの本を選べばいいのか分からない。
自分のレベルに合う、最適な本を見つけたい!
Go言語は2009年にGoogleが開発したコンパイル言語です。シンプルな言語設計と整理されたコーディング規約、マルチプラットフォームに対応、並列処理など多くの魅力的な特徴があり、近年Go言語を採用する企業が増えてきています。
しかし、これからGo言語を学びたいと考えているけど、自分の状況に合う書籍が分からないという人は多いのではないのでしょうか。
今回はそんな方に向けGo言語を効率よく学習する際におすすめの本を6冊、初級者、中級者、上級者に分けて紹介していきますのでぜひ参考にしてくださいね!
なお、次の記事ではそもそもGoとはどんなプログラミング言語なのか、その特徴をできることや将来性も交え詳しく解説しているので良ければ参考にしてください。
→ Go言語とは?特徴やできること、学習方法をわかりやすく解説
初心者向け
改訂2版 基礎からわかる Go言語
編集部コメント
Go言語初心者が基本から体系的に学ぶにはもってこいの本です。この1冊で基本的な構文を一通り抑えることができます。
項目ごとにソースコードと解説がついていて、簡潔な説明がされています。また、標準ライブラリの逆引きも載っているので、これから追加で勉強を進めるときにも重宝できるでしょう。
-
初心者向けにGo言語のコンセプトをわかりやすい紹介している
-
これからGo言語を学ぼうとしている人がGo言語の全体像を把握するのにおすすめ
-
標準ライブラリの逆引きリファレンスが掲載されている
スターティングGo言語
編集部コメント
Go言語の基本的な構文から、特徴的な機能、開発ツールや使用頻度の高いパッケージの使い方まで、実際にプログラムを書くのに必要な知識が十分に解説されています。
また、 CやJavaなどの他の言語と比較した説明がされており、Go言語特有の文法などを理解しやすくなっています。ただ、Go言語を初めてのプログラミング言語に選ぶ方(なかなかいないと思いますが)にとってはよくある入門書よりは難解に感じるかもしれません。
-
初心者向けに基本構文から言語仕様まで幅広く解説する良書
-
基本構文から開発ツールまでプログラムを書くために必要な知識が簡潔にまとめられている
-
言語仕様の背景や考え方もわかりやすく解説している
-
CやJavaなどの他の言語と比較しているので、他の言語を学んだ方にわかりやすい
中級者向け
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
編集部コメント
462ページもある分厚めの本です。ただその分Go言語の基本的な仕様や他の言語とは異なる点や標準ライブラリの活用法など、隅々まで網羅された内容となっています。
Go言語を突き詰めたい方やGo言語のバイブルを求めている方にはとてもおすすめです。
ただ、網羅性が高い分一般的なプログラミングやメモリの簡単な知識がない人にとっては難しめの内容になっています。おすすめとしてはGo言語の入門書を読んでからこの本を手にするのがよいでしょう。
-
Go言語を極めたい方におすすめの一冊
-
基本仕様や他の言語との違い、ライブラリの活用法など隅々まで解説している
-
プログラミングの知識やメモリに関する知識を理解した上で読むと効率的に学べる
みんなのGo言語 現場で使える実践テクニック
編集部コメント
Go言語を現場で使うためのノウハウが凝縮された1冊となっています。
Go言語で開発をする際の便利なツールやディレクトリ構成、テスト方法、ベンチマークなど周辺情報の紹介からチーム開発に関するノウハウまで記載されています。実際にアプリケーションを開発する際の様々な疑問を解決してくれるような本です。
実際に使うプロダクトを開発する人は必読と言える内容となっていおり、Goの文法を1通り勉強した後にこの本を手に取ってみてはいかがでしょうか。
-
現場で活かせるノウハウが圧縮された一冊
-
便利なツールからテスト方法・チーム開発のノウハウまで幅広く解説している
-
解説している内容はどれも実践的なベストプラクティス
上級者向け
Goプログラミング実践入門-標準ライブラリでゼロからWebアプリを作る
編集部コメント
Go言語と標準ライブラリによるWebアプリの開発手法を解説してくれている本です。HTTPの仕組みからデプロイまでGo言語を使ってWebアプリを開発する際に必要なことが網羅されています。
ただ、そもそもがGo言語に関する基本的な知識を前提として書かれているので、Go文法の知識、Webサーバについての知識が全くない人にとっては難解な内容になっています。
-
Go言語の基本構文をマスターした人におすすめしたい一冊
-
Webの仕組みとGo言語の実践的使い方をわかりやすく解説している
-
フレームワークを利用せずにWebアプリケーションを作る方法を紹介している
Go言語による並行処理
編集部コメント
ゴルーチンやチャネルを使った並行処理のパターンを紹介するだけでなく、その背景にある理論やランタイムの動作原理まで解説されています。
具体的には、1〜3章で並行処理全般、他言語の並行処理とは異なるゴルーチンについて、4章で使用ケースを交えた並行処理パターンについて、最後にゴルーチンの背景にあるワークスティーリングという戦略について非常に丁寧に説明してくれています。
Go言語の並行処理のパターンや大規模開発での並行処理の実装方法を学びたいと考えている方にはとてもおすすめの本です。
-
Go言語で並行処理を行うために必要な知識へフォーカスした一冊
-
大規模開発では必ず必要になる並行処理の実装パターンを紹介している
-
ゴルーチンの背景を丁寧に解説している
まとめ
今回はGo言語を効率よく学ぶ際におすすめの本を初心者、中級者、上級者に分けて計6冊紹介しました。
Go言語は比較的新しい言語で、Go言語を書けるエンジニアはかなり稀少です。そのためGo言語を書けるエンジニアは、市場での価値が非常に高くなっています。
今のうちにGo言語を学んで他のエンジニアと差をつけておきましょう!