Golang -Vorlage

Golang -Vorlage
Templating ist eine leistungsstarke Funktion, mit der Sie angepasste und dynamische Ausgabe erstellen können. Wenn Sie beispielsweise eine Webseite erstellen, können Sie den Benutzernamen eines Benutzers aus der Datenbank in die Front-End-Schnittstelle einführen.

In Go haben Sie zwei Vorlagenpakete: Text/Vorlage und HTML/Vorlage. Obwohl beide eine eng ähnliche Schnittstelle bieten, kann das HTML/Template -Paket HTML -Code generieren und Sicherheitsfehler in der Anwendung minimieren.

In diesem Artikel werden wir diskutieren, wie die Vorlagenpakete in Go verwendet werden können.

Komponenten einer Vorlage

Es gibt drei Hauptkomponenten einer Vorlage:

Aktionen

Datenbewertungen beziehen sich auf Funktionen, Schleifen, Dan -Datenbewertungen. Sie werden durch die Verwendung von doppelten lockigen Zahnspangen als bezeichnet, bezeichnet. Ein Punktelement in einer Vorlage repräsentiert das Stammelement. Verwenden von Vorlagenaktionen können Sie die endgültige Ausgabe basierend auf einem bestimmten Ausdruck bestimmen.

Bedingungen

Sie können auch einschließen, ob… sonst Konstrukte in einer Vorlage konstruiert. Ein Beispiel dafür, ob… sonst eine Vorlage einchecken, ist wie gezeigt:

Wenn .Bedingung // Führen Sie dies aus else if if .Bedingung // Führen Sie diesen Block aus else // Rennen Sie mich End aus

In der obigen Syntax wird der erste Block ausgeführt, wenn die erste Bedingung wahr ist. Andernfalls prüfen Sie die Bedingung 2 und führen Sie den zweiten Block durch. Wenn keiner wahr ist, führen Sie den sonstigen Block aus.

Schleifen

Schleifen werden auch in einer Vorlage unterstützt. Sie können beispielsweise wie gezeigt über eine Scheibe in einer Vorlage iterieren:

Bereich .var // do else // do end

Der VAR kann jeder iterable Typ wie ein Array, ein Schicht oder eine Karte sein.

Erstellen, Parsen und Verwenden von Vorlagen

Bei der Arbeit mit Vorlagen gibt es drei nützliche Hauptmethoden:

  1. Neu - erstellt eine neue undefinierte Vorlage.
  2. Parse - Parse als angegebene Vorlagenzeichenfolge und gibt eine Vorlage zurück.
  3. Execute - wendet eine analysierte Vorlage auf eine Datenstruktur an und schreibt das Ergebnis.

Ein Beispiel für die Verwendung dieser Methoden ist wie gezeigt:

Paket Main
importieren (
"Protokoll"
"OS"
"Text/Vorlage"
)
// STUCTUCTE definieren, um die Daten zu halten
Geben Sie die Benutzerstruktur ein
// Felder
Id, Alter int
Name Zeichenfolge

func main ()
// Erstellen Sie eine Instanz des Objekts
Benutzer1: = Benutzer 1, 28, "Rick Tewk"
Temperatur: = Vorlage.Neue Vorlage")
temp, _ = temp.Parse ("hi .Name, Sie sind bei Index .Id und .Alter Jahre alt!"))
Err: = Temp.Ausführen (Betriebssystem.Stdout, user1)
Wenn er irrt != nil
Protokoll.Tödlich (arr)

Das obige Beispiel verwendet die neuen Methoden aus dem Text-/Vorlagepaket, um eine Vorlage zu analysieren und auszuführen.

HTML/Vorlage

Das HTML/Template -Paket bietet eine ähnliche Schnittstelle wie das Text-/Vorlagepaket. Es werden jedoch datengesteuerte Vorlagen für die Ausgabe verwendet.

Ein Beispiel ist wie gezeigt:

Erstellen Sie einen Index.HTML -Datei als:







HTML -Tempating



Hallo .Name, Sie sind bei Index .Id und .Alter




Wir können dann in der GO -Datei als:

Paket Main
importieren (
"fmt"
"OS"
"HTML/Vorlage"
)
// // Stukte definieren, um die Daten zu halten
Geben Sie die Benutzerstruktur ein
// Felder
Id, Alter int
Name Zeichenfolge

func main ()
Benutzer1: = Benutzer 1, 28, "Rick Tewk"
temp, err: = template.Parsefiles ("Index.html ")
err = temp.Ausführen (Betriebssystem.Stdout, user1)
fmt.Println (ähm)

Im obigen Beispiel verwenden wir die ParseFiles () -Methode, um der Indexdatei Vorlagen hinzuzufügen. Der obige Code sollte zurückgeben:







HTML -Tempating



Hallo Rick Tewk, du bist bei Index 1 und 28




Beachten Sie, dass die HTML -Dateien die Informationen aus der Struktur in der GO -Datei

Abschluss

In diesem Artikel haben wir untersucht.

Danke fürs Lesen!