Pipelines der Golang Template Engine: Den Punkt und die Pipelines verstehen
Das Konzept einer „Pipeline“ in der Golang Template Engine bezieht sich auf eine Sequenz von Befehlen, die auf einen Datenwert angewendet werden können. Eine Pipeline kann aus einfachen Wertauswertungen, Funktionsaufrufen oder Methodenaufrufen mit Argumenten bestehen. Das Ergebnis jedes Befehls wird zur Eingabe für den folgenden und die Ausgabe des letzten Befehls ist der Wert der Pipeline.
Bei der Verwendung von Pipelines in Vorlagen stellt der „Punkt“ (.) den aktuellen Wert dar verarbeitet wird. Zunächst entspricht der Punkt dem an die Vorlagen-Engine übergebenen Stammwert. Der Punkt kann jedoch durch Aktionen wie {{range}} und {{with}} geändert werden, sodass Sie die Datenstruktur durchlaufen können.
Um die Verwendung von Pipelines und Punkt zu veranschaulichen, betrachten Sie die folgende Vorlage :
{{- define "test" -}} {{- printf "%s" .Name | trunc 24 -}} {{- end -}}
In dieser Vorlage wird die „Test“-Vorlage mit einer Pipeline definiert, die aus zwei besteht Befehle:
Wenn diese Vorlage verwendet wird, kann der Punkt angepasst werden, indem ein bestimmter Wert als Argument übergeben wird. Zum Beispiel:
{{ template "test" . }}
Diese Zeile übergibt den aktuellen Wert von dot an die Vorlage „test“. Das Ergebnis der Pipeline, also der gekürzte Name, wird in der Ausgabe gerendert.
Der „Punkt“ ermöglicht auch den Zugriff auf den ursprünglichen Wert, der an die Vorlagenausführung übergeben wurde. Dies kann in verschachtelten Vorlagen oder beim Zugriff auf bestimmte Felder nützlich sein, die möglicherweise durch zwischengeschaltete Pipeline-Befehle geändert wurden. Um auf den ursprünglichen Wert zuzugreifen, wird die Variable „$“ verwendet.
Das Verständnis von Pipelines und der Rolle von Punkt in der Golang-Vorlagen-Engine ist für die effektive Arbeit mit und die Anpassung von Vorlagen unerlässlich.
Das obige ist der detaillierte Inhalt vonWie funktioniert der Punkt-Operator (.) in Golang Template Engine-Pipelines?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!