Golang HTML -mal

Golang HTML -mal
Go HTML/Mal -pakken inneholder verktøy og funksjoner for å jobbe med templeringsspråk i HTML -dokumenter. HTML-templering er en omfattende funksjon som lar deg legge til dynamiske data fra backend-språket til frontend.

I motsetning til tekst/HTML -pakken i Go, renser HTML/malpakken dataene og slipper unna alle innganger før du kjører den på klientsiden. Dette forhindrer sikkerhetsfeil slik kodeinjeksjon ved bruk av skripting av tvers av nettsteder.

Komponenter i en mal

En mal består av tre hovedkomponenter.

Handlinger

Dataevalueringer refererer til funksjoner, løkker og 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.

Golang HMTL -mal

Å jobbe med maler i HTML er veldig grei. Du kan bruke malkonstruksjonene omtalt ovenfor for å bestemme hvordan du kan sette inn dataene.

For eksempel kan vi lage en liste og iterere over hvert element på listen. Vi kan deretter overføre informasjonen til HTML -mal for å vise den faktiske på klientsiden.

Et eksempel er som vist nedenfor:

pakkehoved
import (
"HTML/mal"
"Logg"
"OS"
)
type brukere struct
Brukernavnsstreng
Utløpt bool

Skriv inn info struct
SITETITLE STRING
Data [] brukere

func main ()
var temp = '





.Side tittel




    område. data
    hvis .utløpt
  • .punkt

  • ellers
  • .punkt




'
// Parse mal
T, feil: = mal.Nye brukere").Parse (temp)
Hvis feil != nil
Logg.Fatal (feil)

data: = info
SITETITLE: "HTML Templating",
Data: [] brukere
Brukernavn: "Brukernavn1", utløpt: True,
Brukernavn: "Brukername2", utløpt: falsk,
,

t.Utfør (OS.Stdout, data)

Ovennevnte eksempler bruker HTML/mal for å injisere data fra strukturen til HTML -malen.

Lukking

Denne guiden illustrerer hvordan du bruker HTML/malpakke for å injisere dynamisk innhold i HTML -filen. Sjekk ut HTML/malpakken for å lære mer.