Golang -mal

Golang -mal
Templering er en kraftig funksjon som lar deg lage tilpasset og dynamisk utdata. Hvis du for eksempel oppretter en webside, kan du bruke templering for å injisere brukernavnet til en bruker fra databasen til front-end-grensesnittet.

I GO har du to templeringspakker: tekst/mal og HTML/mal. Selv om de begge gir et nært lignende grensesnitt, kan HTML/malpakken generere HTML -kode og minimere sikkerhetsfeil i applikasjonen.

I denne artikkelen vil vi diskutere hvordan du bruker Templating -pakkene i Go.

Komponenter i en mal

Det er tre hovedkomponenter i en mal:

Handlinger

Dataevalueringer refererer til funksjoner, løkker, DAN -dataevalueringer. De er betegnet ved bruk av doble krøllete seler som . Et prikkelement inne i en mal representerer rotelementet. Ved hjelp av malhandlinger kan du bestemme den endelige utgangen basert på et spesifikt uttrykk.

Forhold

Du kan også inkludere hvis ... ellers konstruerer i en mal. Et eksempel på IF… ellers sjekk inn en mal er som vist:

hvis .tilstand // kjør denne ellers hvis .tilstand // Kjør denne blokken else // Kjør meg end

Ovennevnte syntaks vil kjøre den første blokken hvis den første tilstanden er sann, ellers, sjekk tilstand 2 og hvis den er sann, kjør den andre blokken. Hvis ingen er sanne, kjør den andre blokken.

Løkker

Løkker støttes også inne i en mal. For eksempel kan du iterere over en skive inne i en mal som vist:

område .var // do else // do end

VAR kan være hvilken som helst iterable type som en matrise, skive eller kart.

Opprette, analysere og bruke maler

Det er tre viktigste nyttige metoder når du jobber med maler:

  1. Ny - lager en ny udefinert mal.
  2. Parse - Parses som spesifisert malstreng og returnerer en mal.
  3. Utfør - Bruker en analysert mal for en datastruktur og skriver resultatet.

Et eksempel på hvordan du bruker disse metodene er som vist:

pakkehoved
import (
"Logg"
"OS"
"Tekst/mal"
)
// definere Stuct for å holde dataene
type brukere struct
// Enger
Id, alder int
Navnstreng

func main ()
// Opprett en forekomst av objektet
bruker1: = brukere 1, 28, "Rick Tewk"
Temp: = mal.Ny ("mal")
Temp, _ = Temp.Parse ("Hei .Name, du er på indeks .Id og .Alder år gammel!")
feil: = temp.Utfør (OS.Stdout, bruker1)
Hvis feil != nil
Logg.Fatal (feil)

Eksemplet ovenfor bruker de nye, analyser og utfør metoder fra tekst/malpakken for å analysere og utføre en mal.

HTML/mal

HTML/malpakken gir et lignende grensesnitt som tekst/malpakke. Imidlertid bruker den datadrevne maler for utdata.

Et eksempel er som vist:

Opprett en indeks.HTML -fil som:







HTML Temping



Hei .Name, du er på indeks .Id og .Alder




Vi kan deretter legge til templating i GO -filen som:

pakkehoved
import (
"FMT"
"OS"
"HTML/mal"
)
// // definere Stuct for å holde dataene
type brukere struct
// Enger
Id, alder int
Navnstreng

func main ()
bruker1: = brukere 1, 28, "Rick Tewk"
Temp, feil: = mal.Parsefiles ("Index.html ")
err = temp.Utfør (OS.Stdout, bruker1)
fmt.Println (feil)

I eksemplet ovenfor bruker vi Parsefiles () -metoden for å legge til templering i indeksfilen. Koden over skal returnere:







HTML Temping



Hei Rick Tewk, du er på indeks 1 og 28




Legg merke til HTML -filene informasjonen fra strukturen i GO -filen

Konklusjon

I denne artikkelen undersøkte vi hvordan vi skal inkludere dynamisk innhold ved hjelp av tekst/mal og HTML/malpakker i Go.

Takk for at du leste!