この記事は アドベントカレンダー 2024 18日目のものです
他の記事を見たい方は こちら↑ のリンクをクリック!
こんにちは! 23B のぷぐまです
今回は traP 内で公用語と化している (?) Go 言語についての記事です
はじめに
Go 言語を知らないよ〜という方のために軽く Go 言語について説明をしておきます
Go 言語とは、 Google が開発をしているプログラミング言語です
バージョン 1 が正式にリリースされたのは 2012 年 3 月 28 日のことで、最新のバージョンは 2024 年 12 月 3 日にリリースされたバージョン 1.23.4 です
言語公式で多彩なパッケージが用意されているだけでなく、一般プログラマーが GitHub 上で公開しているパッケージについても簡単に使えるのが特徴です
他の言語だと言語で用意されているパッケージ管理ツールの一覧に登録する作業などがありますが、そんなことをしなくても URL を用いて簡単に持ってこられます
公式サイトによると、
- クラウド・ネットワークサービス
- コマンドラインインターフェース
- Web アプリケーション開発
- 規模の拡大・縮小がしやすく、信頼性の高く、効果的な Web サイトの開発
が具体的な活用事例として紹介されています
traP では、部内で SysAd 班が制作している Web アプリケーションのサーバーサイドはすべて Go 言語で統一されています
勉強をしたい方は、 Go 言語公式で用意されている A Tour of Go で簡単に勉強をすることができます
ただ、これは他のプログラミング言語を通してある程度の基礎知識を持っていることを前提とされているような気もするので、不安な方は他のページも参考にしてみるといいかもしれません
asdf でのバージョン管理をやめてみた
さてそんな Go 言語ですが、バージョン 1.21 で Go Toolchain が使えるようになりました
これは簡単に説明すると、アプリケーション開発をしているときに必要な Go 言語のバージョンが書かれているファイルを自動で参照し、手元にないバージョンであれば自動で更新してくれるというものです
より詳しい人向けに説明をすると、 go.mod
というファイルに toolchain go1.23
などの形式で書かれている場合、手元にそれよりも古いバージョンしかなかった場合には自動で 1.23 をインストールしてくれるようになしました
ただし、 toolchain で指定されたものよりも新しいバージョンがある場合は手元のバージョンが使われます (Go 言語の後方互換性の高さで成り立っている)
そんなわけで、これまで使っていた asdf によるバージョン管理の必要がなくなったというわけです!
asdf というのは複数バージョンの環境を使いまわしたいときのものでしたが、 toolchain によって実質的に Go 言語側がこれをやってくれるようになったというわけです
…というわけで asdf から Go 言語をアンインストールして、公式のインストーラーを使ってインストールし直しました!
pugma@MacBook-Pro ~ % which go
/usr/local/go/bin/go
これまでだと /Users/pugma/.asdf
以下にインストールされていたのでパッケージ更新の際にパスが通らずに困ったこともありましたが、これでそれから解放されました!
さいごに
ここまでお読みくださってありがとうございました
当たり前の用に使っているものでも、たま〜に環境を見直してみるとキレイに整頓できるようになっているときもあります
定期的なお手入れも怠らないようにしたいですね
明日は…
明日は @kenken くん @Alt--er くんと @jupiter くんと @comavius くんです!
お楽しみに!