Go の Struct タグで変数を使用できますか?

Mary-Kate Olsen
リリース: 2024-10-30 22:48:03
オリジナル
161 人が閲覧しました

Can You Use Variables in Struct Tags in Go?

Go の構造体タグ: 変数は使用できますか?

構造体タグは、開発者がフィールドにメタデータを添付できるようにする Go の強力な機能です。 。このメタデータは、JSON エンコーダやデコーダなどのさまざまなツールで使用できます。

構造体タグに文字列リテラルを使用する

最初の例では、文字列を使用しています。 struct タグを定義するためのリテラル:

<code class="go">type Shape struct {
    Type string `json:"type"`
}</code>
ログイン後にコピー

タグの値はコンパイル時の文字列定数であるため、これは有効なアプローチです。

Struct タグに変数を使用しようとしている

2 番目の例では、変数を使用して構造体タグを定義しようとしています。

<code class="go">const (
    TYPE = "type"
)

type Shape struct {
    Type string fmt.Sprintf("json:\"%s\"", TYPE)
}</code>
ログイン後にコピー

ただし、コンパイラは次のことを期待しているため、このアプローチでは構文エラーが発生します。タグ値として文字列リテラル。コンパイル時にタグ値がわかっている必要があるため、構造体タグでは変数を使用できません。

結論

構造体タグに変数を使用すると便利に思えるかもしれませんが、 Go 言語ではこれが許可されていません。構造体タグを定義するには文字列リテラルを使用する必要があります。

以上がGo の Struct タグで変数を使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!