Go言語の練習テーマとして良い題材ありませんか?

  • 5
    いいね
  • 0
    コメント

これは「コードを書いていて困ったときに、suinがチャットで質問に答えたり相談に乗るsuinのプログラミング相談室(仮)」で頂いた質問と僕の回答の要約です。

質問

suinさんが書いたGoの記事をいつも参考にしています。Goの練習で何か作ってみたいのですが、良いテーマがあれば教えてください。勉強会ではコマンドラインツールを作るのが多い印象です。私はPHPやjQueryの経験があります。

suinの回答

jQueryやサーバサイドの経験がある強みと、PHPが不得意なところをGoで補えるスキルを習得できるという観点でお答えすると、僕のお薦めは2つあります。

JSON APIサーバを作ってみる

HTML書き出すようなウェブアプリケーションをGoでやるのは辛く、PHPやRailsのほうが適材適所です。しかし、効率的にリクエストを捌くWebサーバを作るときはGoを活かせる場面が出てくると思います。グノシーが当時APIサーバをPHPで作っていたそうなのですが、パフォーマンスが課題になりGoで書き換えて解決したという事例もあります。jQueryやCURLで操作できるAPIサーバはちょうどいい題材だと思います。今後役に経つノウハウにもなると思います。

コマンドラインツールを作る

シングルバイナリで配布できる利点がGoにはあるので、良い練習テーマにになると思います。PHPだと、配布先のPHPバージョンや拡張を気にしないといけないが、Goは基本的にそういう心配がありません。コマンドライン系のフレームワークも多く、コマンドラインツールを作るエコシステムとしては、PHPより成熟していると思います。

回答に対しての反応

コマンドラインツールはライブラリを少し使ってみたことがあるので、Goの利点がイメージできます! コマンドラインツールを作ってみようと思います。APIサーバはイメージができてませんが、調べならやってみたいと思います。