Heim >Backend-Entwicklung >Golang >Wie kann ich globale Variablen im HTML/Template-Paket von Go erstellen und ändern?

Wie kann ich globale Variablen im HTML/Template-Paket von Go erstellen und ändern?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-25 08:41:27369Durchsuche

How Can I Create and Modify Global Variables Within Go's html/template Package?

Globale Variablen erstellen und an mehreren Stellen im HTML/Template-Paket von Go ändern

Definieren Sie im HTML/Template-Paket von Go eine Variable darin Scope isoliert es effektiv auf diese bestimmte Region. Im bereitgestellten Beispiel sollte die Variable $currentUserId einen Wert speichern, der in der gesamten Vorlage bestehen bleibt, ihr Gültigkeitsbereich ist jedoch auf die if-Bedingung beschränkt.

Ändern von Vorlagenvariablen

Go 1.11 führte die Möglichkeit ein, Vorlagenvariablen zu ändern. Mit := wird eine Variable definiert, während = einen neuen Wert zuweist. Variablen können global zugänglich gemacht werden, wenn sie außerhalb der if-Bedingung definiert werden und ihr Wert darin geändert wird.

{{$currentUserId := 0}}
{{if .UserData}}
    {{$currentUserId = .UserData.UserId}}
    [<a href="#ask_question">Inside {{$currentUserId}}</a>]
{{else}}
    [No User Data]
{{end}}
[<a href="#ask_question">outside {{$currentUserId}}</a>]

Dadurch wird sichergestellt, dass innerhalb des {{if}}-Blocks vorgenommene Änderungen nach dem Ende des Blocks widergespiegelt werden .

Alternative Ansätze

  • Benutzerdefiniert Funktionen: Registrieren Sie eine Funktion wie CurrentUserId(), die die Benutzer-ID basierend auf dem Vorhandensein von UserData zurückgibt.
  • Simulierte Variablen: Verwenden Sie eine registrierte benutzerdefinierte Funktion, um veränderbare Variablen zu simulieren und zu speichern Daten in einer Karte, die an die Vorlage übergeben wird Ausführung.

Fazit

Das Vorlagenpaket von Go zeichnet sich zwar durch seine Einfachheit aus, weist jedoch Einschränkungen für komplexe Logik auf. Durch die Verwendung von Zuweisungs- und benutzerdefinierten Funktionen können Sie Werte jedoch an mehreren Stellen in Ihren Vorlagen effektiv bearbeiten.

Das obige ist der detaillierte Inhalt vonWie kann ich globale Variablen im HTML/Template-Paket von Go erstellen und ändern?. 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