ホームページ  >  記事  >  バックエンド開発  >  Go言語にはどのようなパッケージがありますか?

Go言語にはどのようなパッケージがありますか?

青灯夜游
青灯夜游オリジナル
2021-06-07 16:06:493423ブラウズ

Go 言語パッケージ: 1. fmt; 2. io; 3. bufio; 4. sort; 5. strconv; 6. os; 7. sync; 8. flag; 9. encoding/json; 10 、 html/template; 11. net/http; 12. リフレクトなど

Go言語にはどのようなパッケージがありますか?

このチュートリアルの動作環境: Windows 10 システム、GO 1.11.2、Dell G3 コンピューター。

Go 言語のソース コードの再利用はパッケージに基づいています。 Go 言語のエントリ main() 関数は、main というパッケージにあります。メイン パッケージが他のコードを参照したい場合は、パッケージの形式でも参照する必要があります。この章では、メイン パッケージをエクスポートする方法について詳しく説明します。パッケージの内容と他のパッケージをインポートする方法。

Go 言語パッケージはフォルダーと 1 対 1 に対応しており、パッケージ関連の操作はすべて作業ディレクトリ (GOPATH) に依存する必要があります。

標準の Go 言語コード ベースには多数のパッケージが含まれており、そのほとんどは Go のインストール時にシステムに自動的にインストールされます。これらのパッケージは $GOROOT/src/pkg ディレクトリで確認できます。以下は、開発で一般的に使用されるいくつかのパッケージの簡単な紹介です。

1) fmt

fmt パッケージは、C 言語の printf および scanf に似た、フォーマットされた標準入出力を実装します。その中でも、fmt.Printf() と fmt.Println() は開発者によって最も頻繁に使用される関数です。

フォーマット フレーズは C 言語から派生したもので、一部のフレーズ (%- シーケンス) は次のように使用されます:

  • ##%v: デフォルトのフォーマット値。構造を出力するときに、プラス記号 (% v) によってフィールド名が追加されます;

  • %#v: Go スタイルの値式;

  • # %T: 型を使用した Go スタイルの値式。
2) io

このパッケージは、独自の I/O 操作インターフェイスを提供します。その主なタスクは、os パッケージなどのプリミティブ I/O をカプセル化し、その他の関連関数を追加して、パブリック インターフェイスで使用するための抽象関数を持たせることです。

3) bufio

bufio パッケージは、io パッケージをカプセル化することでデータ バッファリング機能を提供します。これにより、大きなデータ ブロックの読み取りおよび書き込みによって発生するオーバーヘッドを削減できます。ある程度。

bufio の各コンポーネント内にはバッファが保持されており、データの読み書き操作はバッファ領域を介して直接実行されます。読み取りまたは書き込み操作が開始されると、まずバッファからデータを取得しようとします。バッファにデータがない場合にのみ、データ ソースからデータが取得され、バッファが更新されます。

4) sort

sort パッケージは、スライスとユーザー定義のコレクションをソートするための関数を提供します。

5) strconv

strconv パッケージは、文字列を基本データ型に、または基本データ型から文字列に変換するための関数を提供します。

6) os

os パッケージは、Unix スタイルのように設計された、プラットフォームに依存しないオペレーティング システム関数インターフェイスを提供しますが、エラー処理は go スタイルです。が使用されます。失敗した場合は、エラー番号の代わりにエラーの種類が返されます。

7) sync

sync パッケージは、マルチスレッド ロック メカニズムとその他の同期相互排他メカニズムを実装します。

8) flag

#flag パッケージは、コマンド ライン パラメーターのルール定義と受信パラメーターの解析の機能を提供します。ほとんどのコマンド ライン プログラムにはこのパッケージが必要です。

9) encoding/json

JSON は現在、ネットワーク プログラムの通信形式として広く使用されています。 Encoding/json パッケージは、オブジェクトから JSON 文字列へのシリアル化や、JSON 文字列からの特定のオブジェクトの逆シリアル化など、JSON の基本的なサポートを提供します。

10) html/template

主に、Web 開発で HTML テンプレートを生成するためのいくつかの機能を実装します。

11) net/http

net/http パッケージは、主に http リクエスト、レスポンス、URL 解析、基本的な http クライアントと拡張を含む HTTP 関連サービスを提供します。 httpサービス。

net/http パッケージを使用すると、わずか数行のコードでクローラや Web サーバーを実装できます。これは従来の言語では考えられませんでした。

12) リフレクト

リフレクト パッケージはランタイム リフレクションを実装し、プログラムが抽象型を通じてオブジェクトを操作できるようにします。これは通常、静的型インターフェースの値を処理し、Typeof を通じてその動的型情報を解析するために使用され、通常はインターフェース型 Type のオブジェクトを返します。

13) os/exec

os/exec パッケージは、カスタム Linux コマンドを実行するための関連実装を提供します。

14) strings

strings パッケージは主に、結合、検索、分割、比較、サフィックス チェック、インデックス付け、大文字小文字の区別など、文字列を処理するための関数のコレクションです。加工など

strings パッケージと bytes パッケージの関数インターフェイス関数は基本的に同じです。

15) bytes

bytes パッケージは、バイト スライスの読み取りと書き込みのための一連の関数を提供します。バイトスライス処理には多くの関数があり、基本処理関数、比較関数、サフィックスチェック関数、インデックス関数、分割関数、ケース処理関数、サブスライス処理関数に分かれています。

16) log

log パッケージは、主にプログラム内のログを出力するために使用されます。

ログ パッケージは、Print、Fatal、Panic の 3 種類のログ出力インターフェイスを提供します。

#印刷は通常の出力です;
  • Fatal は、Print 実行後に os.Exit(1) を実行すること、

  • Panic は、Print 実行後に、panic() メソッドを呼び出すことです。

推奨学習: Golang チュートリアル

以上がGo言語にはどのようなパッケージがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。