概要
- UUID 生成・解析パッケージの標準ライブラリ追加提案
- バージョン3, 4, 5 のUUID対応要望
- github.com/google/uuid の広範な利用実態
- 他言語(C#, Java, JavaScript, Python, Ruby)との比較
- Go標準ライブラリの現状への問題提起
Go標準ライブラリへのUUIDパッケージ追加提案
- サーバーやDB関連の Goプログラム でUUID生成・解析が頻繁に必要
- github.com/google/uuid が事実上のデファクトスタンダード
- GitHub検索でも多くのプロジェクトでこのパッケージが利用されている現状
- UUIDは 国際標準規格 (RFC 4122)に準拠している
- github.com/google/uuid のインターフェースは長期間安定している
- 標準ライブラリにUUID対応がないのはGoの 例外的状況
他言語標準ライブラリとの比較
- C# ではSystem.GuidとしてUUID(GUID)サポート
- Java ではjava.util.UUIDクラスが標準で利用可能
- JavaScript (特にNode.js)や Python、 Ruby もUUID生成・解析を標準搭載
- これらの言語では 追加インストール不要 でUUID利用が可能
- Goのみが標準ライブラリでUUIDをサポートしていない現状
標準ライブラリ追加の意義
- サードパーティ依存削減による セキュリティ向上
- コードの 可搬性・保守性 の向上
- UUIDの標準的な利用促進 によるエコシステムの強化
- 他言語と同様の 開発体験の提供
まとめ
- Go標準ライブラリにUUID生成・解析機能を追加することで、 開発効率と安全性 の向上
- 他言語と同等の 利便性確保
- バージョン3, 4, 5 への公式対応による互換性維持