GO言語初心者にとって参考になる記事まとめ
GO言語を今更ながら始めました。
書籍買うのもなーって思いからネットサーフィンして参考になりえたサイトをまとめていきます。
初歩的な文法からチュートリアル、サンプルコードまで様々な記事をご紹介します。
チュートリアルのまとめ
自分に合った教材で入門しよう!Go言語チュートリアルサイト10個-比較&まとめ
チュートリアルのサイトなどをまとめてくれています。
いろいろ書いてますが、まずは本家のA Tour of Goでいいと思います。
ローディングさえすればオフラインでもページ送りできるので、環境さえ作っちゃえば自身のPCで実行しながら学べます。
パッケージの理解
Go言語 – %Tや%vの書式で出力される文字列
http://blog.y-yuki.net/entry/2017/05/02/000000
fmtパッケージに関して実行結果なども伏せてわかりやすく書かれています。
いろんなデータ型の出力形式を試してくれているのでとても重宝します。
PrintfとSprintfの違いなどは公式ドキュメントを読むのがよいでしょう。
http://golang.jp/pkg/fmt
データ型
急いで学ぶGo lang#7 range・Array・slice・map
https://dev.classmethod.jp/go/golang-7/
for文にrangeという書き方があったり、Arrayに似たsliceなどがあるので、こちらの記事でざっくり学べます。
先にちょこっと知っておくだけでもかなり効率いい学習ができるかと思います。
Goならではの書き方
Go の並行処理
http://jxck.hatenablog.com/entry/20130414/1365960707
goroutineやchannelなど他のコンパイル言語ではあまり見かけない処理があります。
同期・非同期や並列処理はサービスが拡大していくと必ずメンテナンスが必要になってくるところなので、ここからデータ量が増えることが前提とした設計の言語であることがわかりますね。
この記事ではサンプルコードを見ながら理解できるのでかなり助かりました。
サンプルプログラム
oreilly-japan/go-programming-blueprints
https://github.com/oreilly-japan/go-programming-blueprints
オライリーが出しているGo言語によるWebアプリケーション開発のサンプルが公開されています。
コード読んで解釈できる!って人にとってはとても便利。
GoogleCloudPlatform/golang-samples
GoogleCloudPlatformが提供しているサンプルコード。
本家のGoogleさんだからこそ豊富なサンプルはとても学ぶことが多くあります。
ついでに?GCPも触るのでクラウドの知識もつきます。
https://cloud.google.com/go/getting-started/tutorial-app?hl=ja
Writing Web Applications
https://golang.org/doc/articles/wiki/
こちら、読むのが面倒ですぐに動いてるものを触りたい方がいましたらGitHubにあげているのでお好きにcloneしてください。
(一部、ディレクトリ構造を変えてすっきりさせています。)
https://github.com/kosukeobata/gowiki
Go by Example
様々な簡易なサンプルコードが置かれています。
channelなど、「これどうやって使うんだっけ?」となったときに見返すのにちょうどいいです。
それでもやはり書籍の方がいいなと思ったら書籍を買うといいかと思います。