So implementieren Sie Vorlagen in Golang

PHPz
Freigeben: 2023-04-14 10:40:09
Original
970 Leute haben es durchsucht

In der Webentwicklung sind Vorlagen ein sehr wichtiges Konzept. Eine Vorlage bezieht sich auf einen Satz vordefinierter Texte mit Platzhaltern, die zur Laufzeit mit Daten gefüllt und ausgegeben werden können, um den endgültigen Text zu generieren. Durch die Verwendung von Vorlagen können Website-Design und -Implementierung getrennt werden, wodurch sich Entwickler stärker auf die Implementierung der Geschäftslogik konzentrieren können und auch die Änderung von Stil und Inhalt erleichtert wird.

Lassen Sie uns vorstellen, wie Sie Vorlagen in Golang implementieren.

Das Vorlagensystem in der Go-Sprache ist Go Template, eine leichtgewichtige Vorlagen-Engine, die Text vordefinieren, ihn bei Bedarf mit bestimmten Daten analysieren und schließlich HTML-Fragmente generieren kann.

Go-Vorlagenparsing unterstützt sowohl die Zeichenfolgenform als auch die Dateileseform sowie die Vorlagenvererbung und Pipeline-Filterung. Zu den Vorgängen, die in Vorlagen verwendet werden können, gehören Flusskontrollanweisungen, Variablenausgabe, benutzerdefinierte Funktionen usw.

Schauen wir uns ein einfaches Beispiel an, um zu zeigen, wie die Template-Engine in Golang verwendet wird.

Beispielcode:

package main

import (
    "html/template"
    "os"
)

func main() {
    // 定义一个字符串,用到了动词 {{.Name}} 这个这个必写的语法
    const tpl = `
        <html>
            <head>
                <title>{{.Title}}</title>
            </head>
            <body>
                <h1>Hello {{.Name}}!</h1>
            </body>
        </html>
    `

    // 定义一个结构体
    type Person struct {
        Name  string
        Title string
    }

    // 定义一个变量用来存放结构体信息
    p := Person{Name: "Alan", Title: "Golang"}

    // 解析模板
    t := template.Must(template.New("html").Parse(tpl))

    // 将结构体信息传入模板,输出结果到标准输出
    if err := t.Execute(os.Stdout, p); err != nil {
        panic(err)
    }
}
Nach dem Login kopieren

Im obigen Code definieren wir eine HTML-Vorlage und verwenden dabei die Verben {{.Name}} und {{.Title}} als Platzhalter. Anschließend wird ein Strukturtyp Person definiert, der zwei Felder enthält: Name und Titel zur Speicherung von Daten. Person,其中包含了 NameTitle 两个字段,用来存放数据。

接下来,我们将这个结构体类型实例化为 p,并调用 template.Must() 函数来解析模板。最后,我们将实例化后的 p

Als nächstes instanziieren wir diesen Strukturtyp als p und rufen die Funktion template.Must() auf, um die Vorlage zu analysieren. Schließlich übergeben wir das instanziierte p an die Vorlage und geben die Ausgabe an die Konsole aus.

Das Obige ist die grundlegende Methode zum Implementieren von Vorlagen in Golang. Diese Methode wird in der tatsächlichen Entwicklung äußerst häufig verwendet. Es kann eine gute Rolle bei der Realisierung vielfältiger Seitenanzeigen, Datenanzeigeeffekte usw. spielen und die Entwicklungseffizienz von Golang verbessern. 🎜

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Vorlagen in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!