新しい会社に入社して、今まで使ったことない言語を学び始めた時に、「どこまで勉強したら、業務で使えるだろう?」と思う人は多いと思います。
今回はGo言語に関して、ここまでわかれば、業務で開発ができるレベルになるための学習ロードマップ作成しました。他の言語の経験がある人が1週間もかからず学べることを目標にしています。
私はGo言語を3年ほど開発経験があり、経験してきた中で知っておく必要がある部分だけを大枠にピックアップしてます。
ロードマップ
それぞれ何を学ぶ必要があるかを説明していきます。
もし知っている内容があれば、スキップしても問題ないです。
1. A Tour of Go
有名なGoの入門サイトです。
型や条件分岐、メソッド、インターフェース、並行処理などGo言語のお作法が学べます。
サイト上で自分で動かしながら学べるので、Goを学び始めるにはA Tour of Goから始めるのがベストだと思います。
2. DockerでGoの開発環境の構築
学習を始めるために、自分のローカルでも動かしたいと思います。
そのためにまずはローカルでGoを実行できる環境をDocker上で作成します。
実際の現場でもDockerで環境を立てて開発することが多いです。
詳細については、以下の記事に載せています。
3. モジュール管理方法
Goでサードパーティーのライブラリを利用する場合、Goのモジュールを使っています。
詳細については、以下の記事に載せています。
4. Makefileについて
Goの開発を進めるにあたって、ビルドやテストのコマンドを毎回覚えて実行するのが大変です。
そのためにMakefileという、実行コマンドを定義するファイルがあります。定義されたタスクをmakeコマンドで実行します。
詳細については、以下の記事に載せています。
5. cobraとviperの使い方
Goのアプリ開発では、cobraを使ってCLIで実行できるようにして、viperを使って環境変数を設定してます。
なぜcobraを使ってCLIで実行できるようにしているかの理由は以下の記事で説明しております。
6. APIサーバーを作成
Goの場合、標準ライブラリのhttp/netを使ってAPIサーバーを起動させていまして、Webフレームワークは使用しないです。使用しない理由含め、どのようにAPIサーバーを起動させるかについて、以下の記事にまとめています。
7. DBに接続
GoのORMであるSQLBoilerを使用して、DB接続をする。
SQLBoilerは定義やCRUDのソースを自動生成してとても便利です。
詳細については、以下の記事に書いています。
8. テストコード
Goのテストコードについて、ファイル名や関数名に規則があります。
以下の記事ではGoライクなテストコードの書き方、他のテストに影響を与えない独立したテストコードの書き方について紹介しております。
まとめ
今回は現場でGoの開発ができるようになるためのロードマップについて紹介をしてきました。
ロードマップを一通り読んでもらえたら、現場のコードで何をしているかを大枠掴めるようになります。
他にもGoの並行処理について書いた記事がありますので、そちらも読んでもらえたらと思います。
【おすすめ記事のリンク】
コメント