package 基本構文の学習
こんにちは!アプリケーションエンジニアの法島です。
GO言語ド初心者が学んでいく連載記事の第二弾になります。連載を始めようと思った背景は前回の記事に記載してありますので、ご一読いただけると内容がわかりやすいと思います。
GO言語を未経験から学んでいきたい!/取り組みの背景.go
今回は自分が行った基本構文の学習の紹介していきたいと思います。
学習時に利用したもの
今回基本的な部分を学ぶにあたって2種類の方法を使いました。1つは公式サイトの「A Tour of Go」を進めること、もう1つが書籍のを用いての学習です。
A Tour of Go
「A Tour of Go」に関して、これから紹介するニュアンス等が間違っている可能性があるので、2018年11月4日現在の公式サイトDocumentationページの説明文を以下に抜粋しました。
An interactive introduction to Go in three sections. The first section covers basic syntax and data structures; the second discusses methods and interfaces; and the third introduces Go's concurrency primitives. Each section concludes with a few exercises so you can practice what you've learned. You can take the tour online or install it locally with:
$ go get golang.org/x/tour
This will place the tour binary in your workspace's bin directory.
「A Tour of Go」はGO言語の公式サイト内に存在し、ブラウザ上やローカルにダウンロードしてコードを書き、実行しながら学習することができるツールです。大きく分けて3つのセクションに分かれています。最初のセクションでは、基本的な構文とデータ構造について、2つ目はメソッドとインタフェース、3つ目はGoの並行処理の学習が行えます。 各セクションはいくつかの演習で終わりますので、学習した内容を練習することができます。
必要なのがブラウザのみなので非常に気軽でよいと思います。環境を整えたり、ファイルを作成したりする必要がないので基本的な構文はこちらで学習するのがよいでしょう。言語も英語だけでなく様々な言語に訳されたページが存在します。ただ注意として、日本語ページでGO言語の実行を行うとエラーが返ってきます(2018年11月4日現在)。なので、しばらくは英語版を使うの方がよいでしょう。僕はあまり英語が得意でないので、日本語ページを見ながら英語ページのワークスペースで手を動かしました(笑)。
書籍を用いた学習
僕は今回こちらの書籍を参考にしました。特にこちらの書籍を推奨しているわけではありませんので、それぞれの方が自分に合っていると思うものを利用すればいいと思います。僕が書籍を選んだ基準としては、高度なことが書いてあったり、より実践的なコードの紹介があるというよりも、より初心者向けの内容であることを重視しました。「A Tour of Go」では気軽にコードの書き方を学び、書籍で各構文や記法の詳しい解説でより知識をつけていくといった形で学習をしています(現在進行形)。今回の書籍では基本構文がどのように動いているかや、C言語とのかかわり等ツールだけでは学びにくい内容を解説してくれていたので非常に学びやすく助かっています(笑)
最後に
まだがっつりと学習できているわけではありませんが、GO言語を学ぶためのツールはたくさん用意されている印象を受けました。今回は「A Tour of Go」と書籍のみでしたが、公式ドキュメントはもちろんWebアプリケーション チュートリアルや公式youtubeチャンネルなど、今後どこかのタイミングで紹介したいと思っています。
もちろん勉強してるだけでは面白くないので実践で使えるようなツールの作成も行っていきたいと思います。(そろそろちゃんと考えなくては...)
おまけ
実はこの連載を始める前からGO言語に関してはちょっと興味がありました。僕は普段から本屋の中をうろうろするのが好きなのですが(店員さんからみたら本当に迷惑...)その時に真面目そうなプログラミング関連の書籍の中で圧倒的に異彩を放つブサイクなキャラクターにひとめぼれしてジャケ買いしたのがこちら
こちらの書籍は説明が丁寧で情報量も多すぎないので非常に読みやすかったです。ただ基本構文の説明が載っているわけではないので、GO言語をすでにある程度さわっている人たち向けの実践編という印象でした。今回である程度は基本構文がわかるようになってきたので、次のステップとして読み直してみたいと思います。今後のGO言語の開発で紹介できればいいな~
ただその前に足りないところを学習せねば...