yikegaya’s blog

仕事関連(Webエンジニア)と資産運用について書いてます

「改訂2版 みんなのGo言語」読んだ

「改訂2版 みんなのGo言語」をざっと読んでみた。

初版が2019年8月発売でその時点での最新のGo言語事情がまとまった本。今2020年の12月なんで1年経ってるけどまあそこまで今の状況と解離してないはず。

この間GoでAPIサーバ作ったんだけどいまいち「Go言語よい!」みたいにならなかった。

GitHub - ikeyu0806/movie-info-backend: 映画情報、レビューサービス(バックエンド)

Go言語、速いし型があるしdockerとクラウドを使った今風のマイクロサービスと相性がいいのはわかるんだけど、Rubyで書いた時に比べて何倍も時間かかるしまだなんかいまいち良さわかってないかな。。という感じで終わったんだけどやっぱり評判いいしもう少し触ってみようかなと思ったのが読んだ動機。

感想

CLIツール

どのプラットフォームでも動くようにコンパイルできるのでCLIツール作るのに向いているらしい。RubyJavaみたいに言語を動かすためのランタイムの用意も不要だしこれは良さそうかな。。何か作ってみたい。

テスト

前回APIサーバ作った時はあまりいい感じにテストできなかったので色々と思うところはあった。

他の言語みたいにテストフレームワークとマッチャを使ってテストをする感じじゃなさそうだな。。というのは感じていたけどやっぱりメソッドは基本失敗したらエラーを返すように作ってテストコードではそのエラーを拾えるように設計していくのが良さそう。ここはまだ今後変わっていく可能性もあるかもしれないけど。

並行処理

並行処理が書きやすいのが人気の理由であるのでこれはちゃんと使ってみたい(使えてない) 最初はとりあえず片っ端から頭に「go」って付けちゃいそうだけど。

WEB開発

前回適当にginとgormで作ってそれも評判いいし、いいツールではあるはずだけど他にも良さそうなWEBフレームワークやORマッパー色々あるみたい。今度は別の触ってみるか。

コードフォーマッタ

go-fmtやgo-importでコードフォーマットするのが常識らしい。rubyのrubocopとかjsのESLintみたいなもの。個人開発の時は使ってなかったけどこれも今度は試そう。

今後

この本読み返しつつまた別のフレームワーク、ライブラリ使ってAPIサーバ作るか、何かしらのCLIツール作ってみたいかな。