Heim >Backend-Entwicklung >Golang >Wie kann ich Vorlageninhalte basierend auf der Objektverfügbarkeit in Go dynamisch anpassen?

Wie kann ich Vorlageninhalte basierend auf der Objektverfügbarkeit in Go dynamisch anpassen?

Susan Sarandon
Susan SarandonOriginal
2024-11-08 11:53:01750Durchsuche

How to Dynamically Customize Template Content Based on Object Availability in Go?

Anpassen des Vorlageninhalts basierend auf der Objektverfügbarkeit

In Ihrer Vorlage möchten Sie Standard-Meta-Tags anzeigen, sofern keine bestimmte Eigenschaft festgelegt ist In diesem Fall sollte ein anderer Text angezeigt werden. Die Verwendung einer anonymen Struktur zum Festlegen von Eigenschaftswerten für 90 % der Handler ist zwar machbar, führt jedoch zu unnötiger Komplexität.

Um die gewünschte Funktionalität zu erreichen, können Sie die integrierten Not- und Empty-Funktionen in Go-Vorlagen verwenden. So geht's:

{{if not .}}
   <!-- Output for nil or empty values, including false, 0, and any array, slice, map, or string of length zero -->
{{else if eq .MetaValue "some-x"}}
   <!-- Output for "some-x" property value -->
{{else}} 
   <!-- Output for non-empty values other than "some-x" -->
{{end}}

Dieser Code prüft zunächst, ob der .MetaValue Null oder leer ist. Wenn dies der Fall ist, wird der erste Abschnitt ausgeführt. Wenn der MetaValue nicht Null oder leer ist, prüft der zweite Abschnitt, ob er „some-x“ entspricht. Wenn dies der Fall ist, wird der zweite Abschnitt ausgeführt. Andernfalls wird der dritte Abschnitt ausgeführt.

Mit diesem Ansatz können Sie das Hinzufügen von Boilerplate-Code zu Handlern vermeiden, die derzeit Null übergeben, und dennoch den in Ihrer Vorlage angezeigten Inhalt basierend auf dem Vorhandensein oder Wert einer Eigenschaft dynamisch steuern.

Das obige ist der detaillierte Inhalt vonWie kann ich Vorlageninhalte basierend auf der Objektverfügbarkeit in Go dynamisch anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn