ホームページ > バックエンド開発 > Golang > Go テンプレートがエクスポートされていないフィールドの条件を評価しないのはなぜですか?

Go テンプレートがエクスポートされていないフィールドの条件を評価しないのはなぜですか?

DDD
リリース: 2024-10-28 05:44:02
オリジナル
620 人が閲覧しました

 Why is my Go Template not Evaluating Conditionals with Unexported Fields?

Go テンプレートでの面倒な if 操作

Go テンプレートで条件チェックを実行しようとすると、予期しない問題が発生する可能性があります。次のシナリオを考えてみましょう:

isOrientRight という bool フィールドを持つ category という構造体を宣言しました。カテゴリ構造体のスライスを反復処理する範囲ループ内で、{{if}} ステートメントを使用して、isOrientRight の値に基づいて出力を制御しようとします。ただし、テンプレートでは空のページのみが表示されます。

解決策

この問題を解決するには、カテゴリ構造体のフィールドの最初の文字を大文字にしてエクスポートする必要があります。 。デフォルトでは、エクスポートされていないフィールド (小文字で始まるフィールド) には、型を宣言するパッケージ内でのみアクセスできます。この場合、text/template と html/template は別のパッケージであるため、アクセスを許可するにはフィールドをエクスポートする必要があります。

更新されたコードは次のとおりです:

type Category struct {
    ImageURL      string
ログイン後にコピー

以上がGo テンプレートがエクスポートされていないフィールドの条件を評価しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート