はじめに
この記事ではGolangの知識が0の状態からどのようにキャッチアップして、REST APIを作成していったかをまとめています。
これからGolangを学習しようと思っている人の参考になれば幸いです。
出会い
「何か新しいことしたいな〜」という一年で数回来る謎のモチベーションがことの発端でした。
これまでにRailsやLaravelちょこっと、React, Next.jsなどを触ってきました。
それを踏まえて別の言語でhotなものをやりたいなと思っていた矢先にGolangと出会ってしまったのです。
動機
Golangと言う言葉すらも正直しらず、はじめはGo言語って美味しいの状態でした。
まずは手始めにGolangでできることを調べてみたり、既存のGolangで実装されているサービスを調査してみたり、YoutubeでGolangについて語っている人の動画を見たりしながら調査していきました。
そのうち、「Golangはどうやらhotらしいぞ」と判断する自分がいました。
だったらやってみようかなと興味を持ったことが学習の動機になりました。
何を作るか
Golangに限らず、新しいことを学ぶときは「何を作るか」というゴール設定がないと続きません。
そこで以前、Next.js × mongoDBで作成していたバイカー用のアプリがあったのでBE側のAPIをGolangに置き換えることをゴール設定にしました。(実はバイクで日本一周をしながらこのアプリも作っていた)
どう学ぶか
GolangでAPIを作成することは決まったがGolangの知識は0のままです。
本題のどのような手順で学習していったかを列挙していきます。
1. 公式のチュートリアルをやってみる(3days)
まずは公式チュートリアルでGolangがどんなものか触れる。
この動画を参考にしていました。
2. Echoを触ってみる(2days)
APIを作成するにあたり、GolangのAPIフレームワークを見ているとGin
とEcho
が良く出てきました。
両方の公式ドキュメントを見比べた上でEcho
の方がとっつきやすかったのでEcho
を選択しました。
3. Echoでミニアプリを作ってみる(1week)
Echo
の公式を参照しながら簡単なAPIを作り、ディレクトリの構成やテストの書き方などを色々と試してみました。
4. GolangでREST APIを作成(4weeks)
目標に設定していたAPIの作成に着手。
詳しくは以下の記事から5つに分けて実装しています。
repo
おわりに
トータル6週間くらいでGolangのキャッチアップからREST APIの作成までの過程を振り返ってみました。
やっぱり新しいことを学ぶことは面白いということに気づけたことが一番の収穫でした。
まだまだGolangの一部分しか触れられていないので色々な使い方を試してみて実務でも使えるようになりたいなと思いました。