Skip to content

Go 標準ライブラリ简介

この記事を書いている時点で、Go のディストリビューションは 1.21 になり、このサイトが設立されてから 1 年以上が経過しています。

Go 言語の標準ライブラリは非常に豊富で(データ構造を除く)、機能も非常に強力で、API は開発者にとって非常に友好的です。標準ライブラリを熟练に使用できることは、日常の開発に非常に大きな助けとなります。例えば、外部依存関係を使用せず、net/httphtml/templatedatabase/sql の 3 つのライブラリだけで、独立した完全な Web プロジェクトを開発できます。

標準ライブラリのコンテンツは、標準ライブラリのコンテンツが非常に多いため、これまで更新されていませんでした。そのため、以下では一般的に使用される標準ライブラリの役割を簡単に概要説明します。これにより、興味のあるものを選んで理解することができます。各標準ライブラリのパッケージレベルのコメントには、そのパッケージの用途について詳細な説明があります。

  • fmt、フォーマットされた入出力を処理するためのパッケージ
  • html、HTML テンプレート操作パッケージ
  • net、一連のネットワーク操作を提供するパッケージ、非常に強力です
  • flag、コマンドライン引数解析パッケージ
  • reflect、反射操作パッケージ
  • log、標準のログパッケージ
  • sort、ソート操作パッケージ
  • regex、正規表現パッケージ
  • image、画像操作パッケージ
  • time、時間操作パッケージ
  • unicode、Unicode 文字セット操作パッケージ
  • unsafe、型制限のないポインタ操作を提供
  • syscall、オペレーティングシステムが提供するシステムコールパッケージ
  • testing、テストパッケージ、主にテスト作成時に使用します
  • sync、並行操作パッケージ
  • context、コンテキストパッケージ
  • strconv、文字列変換パッケージ
  • strings、文字列操作パッケージ
  • bytes、バイトスライス操作パッケージ
  • maps、map 操作パッケージ
  • slices、スライス操作パッケージ
  • io、基本的な IO インターフェースのセットを定義します。例えば、よく使用される CloserWriter などがあります。また、基本的な IO 操作関数もあります。
  • io/fs、ファイルシステムの一連のインターフェースを定義します。ファイルシステムの抽象化と言えます。
  • os、オペレーティングシステムと対話するためのパッケージで、一連の具体的な関数を提供します。上記の 2 つの具体的な実装と簡単に理解できます。
  • os/signal、オペレーティングシステムシグナルパッケージで、オペレーティングシステムのシグナルを監視するために使用されます。主にプログラムの優雅なシャットダウンを実装するために使用されます。
  • os/exec、オペレーティングシステムコマンドパッケージで、オペレーティングシステムコマンドを実行するために使用されます。
  • os/user、オペレーティングシステムユーザーパッケージで、オペレーティングシステムのユーザー情報を取得するために使用されます。
  • bufio、バッファ付き IO 読み取り・書き込みパッケージ
  • path、スラッシュ区切りパスを処理するパッケージ。例えば URL など。
  • path/filepath、ファイルパスを処理するパッケージ
  • math、数学操作パッケージ
  • math/bits、ビット演算操作パッケージ
  • math/cmplx、複素数操作パッケージ。三角関数のツール関数も提供します。
  • math/rand、疑似乱数パッケージ
  • math/big、大数高精度計算パッケージ
  • container/heap、最小ヒープの実装
  • container/list、双方向リンクリストの実装
  • container/ring、リングの実装
  • archive/zip、zip 圧縮アーカイブパッケージ
  • archive/tar、tar アーカイブファイルパッケージ
  • compress、圧縮アルゴリズム実装パッケージ。例えば gzip、flate など。
  • database/sql、データベースと対話するためのパッケージ
  • encoding、エンコーディングを処理するパッケージ。その下に多くのサブパッケージがあります。例えば jsonxml など。また、base64 のようなものもあります。
  • crypto、暗号化を処理するパッケージ。その下に多くのサブパッケージがあります。例えば sha1、rsa など。
  • go/ast、Go ソースコードの抽象構文ツリーマッピングパッケージ
  • go/parser、Go ソースコードを抽象構文ツリーに解析するパッケージ
  • go/importer、インポーターへのアクセスを提供
  • go/format、Go 言語フォーマットパッケージ
  • arena、手動でメモリを割り当てて解放する機能を提供します。実験段階にあります。
  • runtime、ランタイム操作パッケージ。Go にはこのパッケージで実装されている操作が多くあります。

Golang学习网由www.golangdev.cn整理维护