Plantilla de Golang

Plantilla de Golang
La plantilla es una característica poderosa que le permite crear una salida dinámica y personalizada. Por ejemplo, si está creando una página web, puede usar la plantilla para inyectar el nombre de usuario de un usuario de la base de datos a la interfaz front-end.

En Go, tiene dos paquetes de plantilla: texto/plantilla y html/plantilla. Aunque ambos proporcionan una interfaz muy similar, el paquete HTML/plantilla puede generar código HTML y minimizar los defectos de seguridad en la aplicación.

En este artículo, discutiremos cómo usar los paquetes de plantilla en Go.

Componentes de una plantilla

Hay tres componentes principales de una plantilla:

Comportamiento

Las evaluaciones de datos se refieren a funciones, bucles, evaluaciones de datos DAN. Se denotan mediante el uso de aparatos ortopédicos dobles como . Un elemento de puntos dentro de una plantilla representa el elemento raíz. Usando acciones de plantilla, puede determinar la salida final basada en una expresión específica.

Condiciones

También puede incluir si ... más construyen en una plantilla. Un ejemplo de si ... de lo contrario en una plantilla es como se muestra:

si .condición // ejecutar esto else si .condición // Ejecute este bloque else // ejecutarme end

La sintaxis anterior ejecutará el primer bloque si la primera condición es verdadera, de lo contrario, verifique la condición 2 y, si es cierto, ejecute el segundo bloque. Si ninguno es verdadero, ejecute el bloque de la otra.

Bucles

Los bucles también se admiten dentro de una plantilla. Por ejemplo, puede iterar sobre una porción dentro de una plantilla como se muestra:

rango .var // do else // do end

El VAR puede ser cualquier tipo iterable, como una matriz, una porción o un mapa.

Crear, analizar y usar plantillas

Hay tres métodos útiles principales cuando se trabaja con plantillas:

  1. Nuevo - Crea una nueva plantilla indefinida.
  2. Analizar la cadena de plantilla especificada y devuelve una plantilla.
  3. Ejecutar: aplica una plantilla analizada a una estructura de datos y escribe el resultado.

Un ejemplo de cómo usar estos métodos es como se muestra:

paquete principal
importar (
"registro"
"OS"
"Texto/plantilla"
)
// Defina el estucto para mantener los datos
escriba usuarios estructura
// campos
Id, edad int
Cadena de nombre

func Main ()
// crear una instancia del objeto
user1: = usuarios 1, 28, "Rick Tewk"
temperatura: = plantilla.Nueva plantilla")
Temp, _ = temperatura.Parse ("Hola .Nombre, estás en el índice .Id y .Edad años!")
Err: = temp.Ejecutar (OS.Stdout, usuario1)
Si err != nulo
registro.Fatal (err)

El ejemplo anterior utiliza los métodos nuevos, analizados y de ejecución del paquete de texto/plantilla para analizar y ejecutar una plantilla.

Html/plantilla

El paquete HTML/Template proporciona una interfaz similar a la del paquete de texto/plantilla. Sin embargo, utiliza plantillas basadas en datos para la salida.

Un ejemplo es como se muestra:

Crear un índice.archivo html como:







Tempatación HTML



Hola .Nombre, estás en el índice .Id y .Edad




Luego podemos agregar plantillas dentro del archivo GO como:

paquete principal
importar (
"FMT"
"OS"
"HTML/plantilla"
)
// // Defina el estucto para mantener los datos
escriba usuarios estructura
// campos
Id, edad int
Cadena de nombre

func Main ()
user1: = usuarios 1, 28, "Rick Tewk"
temperatura, err: = plantilla.Parsefiles ("índice.html ")
err = temp.Ejecutar (OS.Stdout, usuario1)
fmt.Println (err)

En el ejemplo anterior, usamos el método parsefiles () para agregar plantillas al archivo de índice. El código anterior debería devolver:







Tempatación HTML



Hola Rick Tewk, estás en el índice 1 y 28




Observe el HTML presenta la información de la estructura en el archivo GO

Conclusión

En este artículo, exploramos cómo incluir contenido dinámico usando paquetes de texto/plantilla y html/plantilla en GO.

Gracias por leer!