April 2022
Beginner to intermediate
464 pages
6h 44m
Japanese
Javaなど他の言語では、データのマッピングなどを自動で行うために、アノテーションを使ってフィールドやメソッドにメタデータを付与して利用します。Goでそれに該当するものは構造体のタグです。タグそのものは単なるテキスト情報で、コードの動作に直接影響を与えることはありませんが、このタグ情報を読み取って機能するライブラリを利用することで、構造体のデータを何かに変換したり、データファイルをロードして構造体のインスタンスに値を入れたりできます。
フィールド名 型 `json:"field"`
タグはGoの文法としてはどのような文字列も入れられることになっています。しかし、一般的な慣習として、次のような形式の文字列を1つ、複数の場合はバッククォートで囲んだ値をスペース区切りで、入れることになっています。reflectパッケージを使うと、このキー名を元にコロンの後ろの情報を取得できます。キー名が異なれば、1つのフィールドに対して複数のライブラリ向けのタグを付与できます。
キー:"メタデータ"
タグを利用するパッケージには次のようなものがあります。
パッケージ名 |
説明 |
|---|---|
encoding/jsonやencoding/xml |
JSONやXMLなどのデータ交換フォーマットとの相互変換 |
github.com/gorilla/schema |
HTMLのフォームやヘッダーとのデータ総合変換 |
github.com/jmoiron/sqlxやgorm.io/gorm、gocloud.dev/docstore |
データベースの行の読み書き |
github.com/kelseyhightower/envconfig ... |
Read now
Unlock full access