golang/go は、Go プログラミング言語の公式リポジトリです。これはソース コード リポジトリであるだけでなく、Go コンパイラ、ランタイム、標準ライブラリ、ツール チェーン、問題のディスカッション、言語提案への重要な入り口でもあります。
ビジネスコードを書くだけであれば、必ずしもそれを毎日読むとは限りません。しかし、なぜ Go がこのように設計されているのかを理解したい場合は、公式リポジトリを避けて通ることはできません。
倉庫の中にあるもの
Go の公式リポジトリには次のものが含まれています。
- Go コンパイラ;
- ランタイム;
- 標準ライブラリ;
goコマンドとツールチェーン;- スクリプトのテストとビルド。
- 問題と提案のディスカッション。
- リリース関連の変更。
goroutine、チャネル、GC、標準ライブラリ ネットワーク パッケージ、モジュール ツール チェーンなど、通常使用する機能の多くはすべてここにあります。
見る人に適しています
こんな人に適しています:
- バックエンド開発者に移動します。
- Go のランタイムとスケジューリングを理解したい人。
- Go バージョンの進化を追いかけている人;
- 高パフォーマンスのサービスを作成する人。
- 言語、コンパイラ、または標準ライブラリの研究を行う人。
- 標準ライブラリの境界の問題が発生し、実装をチェックする必要がある人。
最初から倉庫全体を見て回るのはお勧めしません。 net/http、context、sync など、使い慣れた標準ライブラリ パッケージから始めることができます。
Go を学ぶのは文法だけではありません
Go の核心は構文の複雑さではなく、エンジニアリング上のトレードオフです。
- 簡潔な構文。
- 強力な標準ライブラリ。
- 同時実行モデル。
- 素早いビルド;
- 統一フォーマット。
- 導入が簡単。
- 言語進化の抑制。
これらの設計上のトレードオフを理解することは、構文を覚えるよりも役立ちます。
まとめ
golang/go は Go エコシステムのルートです。一般の開発者は、標準ライブラリの動作を確認し、バージョンの変更に注意し、ランタイムを学習するためのエントリ ポイントとして使用できます。
しばらく Go を書いている場合は、チュートリアルを見るだけよりも、時々公式のソース コードを読む方がより確実になります。