Modello di golang

Modello di golang
Il modello è una funzione potente che consente di creare output personalizzato e dinamico. Ad esempio, se si crea una pagina Web, è possibile utilizzare il modello per iniettare il nome utente di un utente dal database all'interfaccia front-end.

In GO, hai due pacchetti di modelli: testo/modello e html/modello. Sebbene entrambi forniscano un'interfaccia molto simile, il pacchetto HTML/modello può generare codice HTML e ridurre al minimo i difetti di sicurezza nell'applicazione.

In questo articolo, discuteremo di come utilizzare i pacchetti di modelli in Go.

Componenti di un modello

Esistono tre componenti principali di un modello:

Azioni

Le valutazioni dei dati si riferiscono a funzioni, loop, valutazioni dei dati DAN. Sono indicati dall'uso di doppie parentesi graffe come . Un elemento punto all'interno di un modello rappresenta l'elemento radice. Usando le azioni del modello, è possibile determinare l'output finale in base a un'espressione specifica.

Condizioni

Puoi anche includere se ... altrimenti costrutti in un modello. Un esempio di se ... altrimenti che controlla un modello è come mostrato:

Se .condizione // Esegui questo else if .condizione // Esegui questo blocco else // run me end

La sintassi sopra eseguirà il primo blocco se la prima condizione è vera, altrimenti, controlla la condizione 2 e se vera, eseguire il secondo blocco. Se nessuno è vero, esegui il blocco altro.

Loop

I loop sono anche supportati all'interno di un modello. Ad esempio, puoi iterare su una fetta all'interno di un modello come mostrato:

allineare .var // do else // do end

Il var può essere qualsiasi tipo iterabile come un array, una fetta o una mappa.

Creazione, analisi e utilizzo dei modelli

Esistono tre principali metodi utili quando si lavora con i modelli:

  1. Nuovo: crea un nuovo modello indefinito.
  2. Analisi: analizza come stringa modello specificata e restituisce un modello.
  3. Esegui - applica un modello analizzato a una struttura dei dati e scrive il risultato.

Un esempio di come usare questi metodi è come mostrato:

Pacchetto principale
importazione (
"tronco d'albero"
"OS"
"Testo/modello"
)
// Definisci Stutto per tenere i dati
tipo utenti struct
// campi
Id, età int
Nome String

func main ()
// crea un'istanza dell'oggetto
utente1: = utenti 1, 28, "Rick tewk"
temp: = modello.Nuovo ("modello")
temp, _ = temp.Parse ("hi .Nome, sei su indice .Id e .Età anni!")
err: = temp.Eseguire (sistema operativo.Stdout, utente1)
Se err != nil
tronco d'albero.Fatale (err)

L'esempio sopra utilizza il nuovo, analizzare ed eseguire metodi dal pacchetto di testo/modello per analizzare ed eseguire un modello.

HTML/modello

Il pacchetto HTML/Template fornisce un'interfaccia simile al pacchetto di testo/modello. Tuttavia, utilizza modelli basati sui dati per l'output.

Un esempio è come mostrato:

Crea un indice.file html come:







HTML Tempating



CIAO .Nome, sei su indice .Id e .Età




Possiamo quindi aggiungere il modello all'interno del file GO come:

Pacchetto principale
importazione (
"FMT"
"OS"
"HTML/TEMPLATE"
)
// // Definisci Stutto per tenere i dati
tipo utenti struct
// campi
Id, età int
Nome String

func main ()
utente1: = utenti 1, 28, "Rick tewk"
temp, err: = template.Parsefiles ("indice.html ")
err = temp.Eseguire (sistema operativo.Stdout, utente1)
fmt.Println (err)

Nell'esempio sopra, utilizziamo il metodo Parsefiles () per aggiungere il modello al file indice. Il codice sopra dovrebbe restituire:







HTML Tempating



Ciao Rick Tewk, sei all'indice 1 e 28




Notare i file HTML le informazioni dalla struttura nel file GO

Conclusione

In questo articolo, abbiamo esplorato come includere contenuti dinamici utilizzando pacchetti di testo/modello e HTML/modello in GO.

Grazie per aver letto!