Go 言語のインストール ファイルには、直接使用できるいくつかのパッケージ、つまり標準ライブラリが含まれています。 Go 言語の標準ライブラリ (言語に付属のバッテリーと呼ばれることが多い) は、I/O 操作、テキスト処理、画像、暗号化、ネットワーキング、分散アプリケーションなどの明確な構成要素とパブリック インターフェイスを提供し、多くの機能をサポートします。標準化されたファイル形式とコーデック プロトコル。
Windows では、標準ライブラリは Go 言語のルート ディレクトリのサブディレクトリ pkg\windows_amd64 にあります。Linux では、標準ライブラリは Go 言語のルート ディレクトリのサブディレクトリ pkg\linux_amd64 にあります (インストールが32 ビットの場合は linux_386 ディレクトリにあります)。通常、標準パッケージは $GOROOT/pkg/$GOOS_$GOARCH/ ディレクトリに保存されます。
Go 言語のコンパイラも標準ライブラリの一部であり、字句解析でソース コードをスキャンし、構文ツリーを使用してソース コードの論理分岐などを取得します。 Go 言語の周辺ツールもこれらの標準ライブラリに基づいて構築されています。ほぼほとんどの要件は標準ライブラリで実行できます。
Go 言語の標準ライブラリは、パッケージ形式でサポートを提供しています。次の表に、Go 言語の標準ライブラリの共通パッケージとその機能を示します。
Go言語の標準ライブラリのパッケージ名 | 関数 |
---|---|
bufio | バッファリングされた I/O 操作 |
bytes | バイト操作の実装 |
container | ヒープ、リスト、リング リストなどのコンテナのカプセル化 |
crypto | 暗号化アルゴリズム |
database | データベースドライバーとインターフェース |
debug | さまざまなデバッグファイル形式へのアクセスとデバッグ機能 |
encoding | JSON、XML、Base64 などの一般的なアルゴリズム |
flag | コマンドライン解析 |
fmt | フォーマット操作 |
go | Go 言語の語彙、構文ツリー、型など。コード情報の抽出と変更はこのパッケージを通じて実行できます |
html | HTML エスケープおよびテンプレート システム |
image | 一般的なグラフィック形式へのアクセスと生成 |
io | I/O独自のアクセスインターフェースとアクセスカプセル化を実現 |
math | 数学図書館 |
net | ソケット、HTTP、メール、RPC、SMTP などをサポートするネットワーク ライブラリ。 |
os | オペレーティング システム プラットフォームはプラットフォーム操作パッケージに依存しません |
path | 各種OSに対応したパス操作ユーティリティ機能 |
plugin | Go 1.7 で追加されたプラグイン システム。コードをプラグインにコンパイルし、オンデマンドでロードすることをサポートします。 |
reflect | 言語リフレクションのサポート。コード内の型情報を動的に取得したり、変数の値を取得・変更したりすることができます。 |
regexp | 正規表現ラッパー |
runtime | ランタイムインターフェース |
sort | ソートインターフェイス |
strings | 文字列変換、解析、およびユーティリティ関数 |
time | 時間インターフェース |
text | テキストテンプレートとトークンレクサー |
もちろん、優れたサードパーティのリソースも言語エコシステムの重要な部分です。近年登場したいくつかの言語の中でもGoは独特で、優れた作品が頻繁に生まれており、Goを学ぶ上でも参考になります。