go言語のお勉強
ES6の本も読み終わったので、次はgolangでもやろう、という気分に。 ちょうどepubを生成する為のCIを作る為にgoを使う予定なので。
といってもgolangは細かい言語仕様とかを教養として覚えよう、というよりは、普段の雑用を片付ける為に復習とイディオムを覚える、くらいの気分でいる。
だから一冊何かの本格的な本を読むよりは、細かいドキュメントとかフリーのebookを幾つか軽く読む、くらいでいいかな。
The Little Go Book
気分的にはTour of Goをもう一回やるくらいな事をやりたいのだが、あまりブラウザの前に居る気は起こらない。 Kindleで読みたいな。
という事で復習も兼ねて、Kindleに以前突っ込んでおいた、The Little Go Bookを読もうと思う。
Chapter 5まで読み終わり
最後の6はgoroutineなので当面は使わないから5章まででいいかな。
全体的に要らない解説がある一方で細かい知りたい事が載ってないが、とりあえず思い出す為にざっと読む目的ならこれで良い気がする。 これを読むまで小文字はじまりがprivateで大文字始まりがpublicとか忘れてた。
もっと他の良い本あるなら今後はそっちを復習には使いたいが、まぁこれでもいいか、という位には目的は果たしている。
Effective go
もうちょっとイディオムを見たいな、という事で、次はKindle 版があるEffective goを読む事に。
Named rusult parametersまで読む
この文書はなかなか良いね。 簡潔でありながら知りたい事が書いてある。 だがフォーマットとして目次が無いのはいまいち。
あと最初に読む本という感じは無い。 Tour of Goで基本を知って、軽く使ったあとに読むのが良さそう。
例えばnewとmakeの違いとか、composite literalのローカル変数に見えるものをreturnして良い話とか、当然そこを知りたくなる、という話題をちゃんと書いてある。
mobi版よりweb版が良さそう
なんかmobi版、たまに単語が抜けてるな。 たぶんマークアップか何かがついてる単語が抜けてるっぽい。 新しい版では直ってるかもしれないので見てみるか。
Lite editionというのがすぐ見つかるが、これだと直ってるっぽい。ただweb版とそこの部分の内容が変わってる(削られてる)なぁ。Embeddingのあたりとか、mobi版では何が言いたいのか良く分からない。
全体的にweb版の方が解説が分かりやすい気がする。 最新のweb版そのまんまのmobi版はないのかしら。
仕方ない。分からん所はスマホで読むか。
でもこの辺はもともとの記述もおかしい気がするな。 例えば
as it did in the Read method of our ReadWriter struct.
のくだりは何が言いたいのかわかりにくい。 少なくとも前のRead methodの例はembeddingしてない。
Effective go読み終わり
網羅的では無いが「そこが知りたい」と思う事がよく載ってて、短いので手頃なドキュメントになってる。
Embeddingあたりなどはちょこちょこ記述がわかりにくい所があるが、だいたい想像で補える範囲。
idiomっぽいのがもっと出てくるのかと思ったが、そうでもなかった。 ただ仕様だけからでは分からない、「goではこうするのが正しい」みたいな物がいろいろ出てくるので、goという言語の哲学みたいな物は伝わってくる。
例えばpanicはライブラリ内だけで使い、パッケージの外にはerr返せ、みたいなのとか、パッケージ名とかはぶつかるのは気にせず短い名前つけろ、とか。
最新のmobi版が普通に手に入らないのは残念だな。Lite版というのがあるが、なんでフル版じゃないのか良く分からない。 読む前にweb版と違うという事に気付いていたらライセンス確認して作っても良かったかもなぁ、と思うが。
goはいろいろ詳しくなってgoっぽく書くより、とりあえずC言語っぽく書く所から始める方が「らしい」始め方と思うので、この位をさらっと読んで始めるのがいい気はする。
最初自分にTour of Goだけ読んでいろいろ書き始めて、そこでちょっと疑問に思ったような事をEffective goを読んで解決する、くらいで十分なのかもしれない。 使われてる言語の中で唯一のシンプル系言語な気がするな、golang。