7.2 ランタイムのサポート

7.2.1 Go言語自体のサポート

本番環境でGoのプログラムを保守するとき、Go言語自体のサポートや互換性の話は避けては通れない話題です。

7.2.1.1 リリースのサポート

Goのリリースは、あるメジャーバーションがリリースされてから2つ後のメジャーバージョンがリリースされるまでサポートされます。サポート期間は、重要な問題が発見された場合には新しいマイナーバージョンがリリースされます。図にすると以下のようになります。

../_images/support.png

つまりGo 1.14はGo 1.16がリリースされるまでサポートされます。Go 1.16がリリースになるとGo 1.14はサポートされなくなります。

7.2.1.2 互換性

Goは保守的な言語です。長期的な運用を前提として考える上で押さえておきたい点として、Goはバージョン1(Go1)の間はソースコードレベルの互換性が約束されているということです。つまりGo 1.14で実装したプログラムはGo 1.17といった新しいバージョンでもビルドし動かすことができます。

note

AWS Lambda上のサポートの話

インフラを運用する観点から考えても、Goは運用しやすく、クライドネイティブな言語といえます。たとえばAWS Lambdaでは、Goは ...