スターティングGo言語を読み終わりました。

lndにcontributeにしたいなと調べていたら、lndはGoで書かれており、contribution guideのRequired Readingにeffective goがあり、effective go読む前にもっと基礎的な部分を勉強しようと思い、スターティングGo言語を手に取りました。

今まで理解できていなかったstructやslice周りがわかり、Goで書かれたコードを以前よりスムーズに読めるようになりました。

最近の暗号通貨のOSSプロジェクトは、Goで書かれているものが多い印象なのですが、なぜGoで書かれているか少しわかった気がします。静的型付けで、十分な実行速度があり、標準ライブラリに暗号ライブラリがあるのは、暗号通貨を開発するのに大きな強みだと思います。

どうしても他の言語だと、C言語で書かれたライブラリ(libsodiumなど)のbindingを使うことになりますが、Goはその点標準ライブラリをそのまま使えるのが嬉しいです。

次はeffective goを読みます。