A Tour of Go をやった
A Tour of Goが終わってうれしいので記録しておく。
きっかけ
直接のきっかけは gh-ost の登場で、もともと何か新しいプログラミング言語を学びたいけど、何にしようかなと考えていて gh-ost が引き金になった。 MySQL は好きで、オンラインマイグレーションの仕組みにも興味があったので gh-ost は見逃せなかった。実装を見てみたらGo言語で「あ、読み書きできないな」となったのだった。
自分の身近にGo言語製の便利ツールが増えてきているのを感じるし、今後も増えていきそうで、Go言語を使えるようになっておくとよさそうという判断をした。
それに普段使っているRubyとは異なる考え方をする必要がありそうなのもよかったし、機械語にコンパイルできるというのもスタンドアローンで実行するツールを作る言語としては最適だし、いいなと思っている。
何から始めたか
「golang」でググって日本語のドキュメントサイトを見つけた。 http://golang-jp.org/doc/
インストールをやって http://golang-jp.org/doc/install
Goの書き方をやって http://golang-jp.org/doc/code.html
英語サイトと若干内容が違うことに気がついて How to Write Go Code をやった https://golang.org/doc/code.html
で、A Tour of Goをやった。
どのくらいかかったか
8/23〜9/7の間、朝食前の15分、昼休み30分、寝る前30分とかでやった。土日はほとんどやってない。
やってる途中にメモっていたこと
[]struct
みたいなのが謎だったけど分かるようになったdefer
は好きだ- スライスもおもしろい。Go Slices: usage and internals読んだ
- Fibonacci closureの演習よかった
- Imageの演習はわからないままやってた
- Web crawlerの演習むずかしかった。模範解答見てみたい
演習の答え
貼っておく。
- Exercise: Loops and Functions
- Exercise: Loops and Functions (NEXT)
- Exercise: Slices
- Exercise: Maps
- Exercise: Fibonacci closure
- Exercise: Stringers
- Exercise: Errors
- Exercise: Readers
- Exercise: rot13Reader
- Exercise: Images
- Exercise: Equivalent Binary Trees
- Exercise: Web Crawler
Go Slices: usage and internalsの演習問題
で、
演習やってるとわかるけど全然うまく書けないので、もっとコード読んだり書いたりしたい。