Goを学ぶ前に環境を整えよう!
開発環境
- go 1.23.3 darwin/arm64
前提
マシーンはMac、エディタはVSCodeを利用しているユーザーが対象になります。
本題
お仕事ではフロントエンド(Nextjs)を担当することが多く、もっぱらTypeScriptを書いています。
TypeScriptを活かすことを考えると自分の中でのバックエンドの選択肢は、ExpressやNestjs、最近だとHonoなんかが有力かなと考えています。
ただ、他の言語も触ってみたい気持ちもあり、TypeScript以外で考えると、「マイクロサービス」「クリーンアーキテクチャ」「並行処理」あたりの文脈でよく出てくるGoに興味を持ちました。
今回はGoの簡単な紹介とコードを書き始める前のセットアップ例をご紹介します。
なぜGoが選ばれるのか
- 並列処理が簡単に扱える
- シンプルな言語仕様
- パフォーマンスの良さ
- スケーラブルなアプリケーション開発が可能
ざっくりこの辺りが特徴と語られることが多いです。
また、Googleはもちろん、UberやNetflix、メルカリなど大規模なアプリケーションでも採用されている点も魅力的です。
Rustではなく、Go?
Rustもここ最近ではよく聞きます。求人数も増えているので、注目度の高さが伺えます。
ただ、学習コストや現時点(2024/12)でのエコシステムの充実度、コードのシンプルさからしても、Goに軍配が上がると、個人的には考えています。
上記を踏まえると、個人的な見解ですが、Rustは個人開発のような小規模開発にはあまり向かないという点で、Goを優先して学習しようと思いました。
asdfを利用してGoをインストールする手順
前置きが長くなりましたが、ここから具体的な手順に入ります。
※ asdfは、多くのプログラミング言語やツールのバージョン管理を一元的に行えるバージョン管理ツールです。例えば、Python、Node.js、Ruby、Goなど、複数の言語を使うプロジェクトで、それぞれ異なるバージョンを簡単に切り替えたり管理することができます。
① asdfのインストール
$ brew install asdf
② 必要なプラグインの設定
$ asdf plugin add golang
③ 最新版のGoをインストール
$ asdf install golang latest
④ asdfのグローバル設定
$ asdf global golang latest
⑤ version確認
go version
> go version 1.23.23 darwin/arm64
version確認に関してはそれぞれ違う値になると思いますので、適宜読み替えてください。
VSCodeでGo公式プラグインをインストールする手順
① VSCodeの拡張機能アイコンをクリック
② Goと検索し、Go公式の拡張機能をインストール(https://marketplace.visualstudio.com/items?itemName=golang.go)
③ 関連するプラグインをまとめてインストール
コマンドパレット(Ctrl+Shift+P)を開いてGO: Install/Update toolsで検索します。
選択肢として出てくる全ての項目をチェックしてインストール。
プラグインを入れることで得られるメリット
以下のメリットがあるので、開発効率がめちゃくちゃ上がります。
- コード補完 → 標準ライブラリやインストール済みのパッケージの補完が可能。
- Lint → goplsを使ったリアルタイムのコード品質チェック。
- デバッグ → ビルトインのデバッグツールで効率的な問題解決。
- フォーマッター → 自動でコードを整形してくれる(gofmt連携)。
- テスト実行 → 内部でユニットテストを手軽に実行可能。
おまけ:コードの自動フォーマットが効かない場合
自分は上記の設定だけではコード保存時の自動フォーマットが効きませんでした。
この場合、コマンドパレット(Ctrl+Shift+P)を開いてsettingで検索し、ユーザー設定を開きます。
以下のようにgoの設定を加えると自動でフォーマットするようになりました。
{
"[go]": {
"editor.tabSize": 4,
"editor.insertSpaces": true,
"editor.formatOnSave": true,
"editor.defaultFormatter": "golang.go"
},
}
さいごに
新しく言語を学ぶときは色々と勝手が分からなくて、初めは苦労しますね。。
そんな時、コードフォーマット系や補完が常に効いている状態でコードを書けると、一般的に読みやすいコードを書く癖が自然とつきやすいと思います。
まずは環境を整えるところから始めるのをお勧めします。