Go テンプレートでの面倒な if 操作
Go テンプレートで条件チェックを実行しようとすると、予期しない問題が発生する可能性があります。次のシナリオを考えてみましょう:
isOrientRight という bool フィールドを持つ category という構造体を宣言しました。カテゴリ構造体のスライスを反復処理する範囲ループ内で、{{if}} ステートメントを使用して、isOrientRight の値に基づいて出力を制御しようとします。ただし、テンプレートでは空のページのみが表示されます。
解決策
この問題を解決するには、カテゴリ構造体のフィールドの最初の文字を大文字にしてエクスポートする必要があります。 。デフォルトでは、エクスポートされていないフィールド (小文字で始まるフィールド) には、型を宣言するパッケージ内でのみアクセスできます。この場合、text/template と html/template は別のパッケージであるため、アクセスを許可するにはフィールドをエクスポートする必要があります。
更新されたコードは次のとおりです:
type Category struct { ImageURL string
以上がGo テンプレートがエクスポートされていないフィールドの条件を評価しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。