Modelo de Golang

Modelo de Golang
O modelo é um recurso poderoso que permite criar saída personalizada e dinâmica. Por exemplo, se você cria uma página da web, poderá usar o modelo para injetar o nome de usuário de um usuário do banco de dados para a interface front-end.

Em Go, você tem dois pacotes de modelos: texto/modelo e html/modelo. Embora ambos forneçam uma interface intimamente semelhante, o pacote HTML/modelo pode gerar código HTML e minimizar falhas de segurança no aplicativo.

Neste artigo, discutiremos como usar os pacotes de modelos em Go.

Componentes de um modelo

Existem três componentes principais de um modelo:

Ações

Avaliações de dados referem -se a funções, loops, avaliações de dados Dan. Eles são denotados pelo uso de aparelhos duplos encaracolados como . Um elemento de ponto dentro de um modelo representa o elemento raiz. Usando ações de modelo, você pode determinar a saída final com base em uma expressão específica.

Condições

Você também pode incluir se ... else construir em um modelo. Um exemplo de se ... senão verificar um modelo é como mostrado:

se .condição // execute este else .condição // Execute este bloco else // execute -me end

A sintaxe acima será executada no primeiro bloco se a primeira condição for verdadeira; caso contrário, verifique a condição 2 e, se verdadeira, execute o segundo bloco. Se nenhum for verdadeiro, execute o bloco else.

rotações

Loops também são suportados dentro de um modelo. Por exemplo, você pode iterar sobre uma fatia dentro de um modelo como mostrado:

faixa .var // do else // do end

O VAR pode ser qualquer tipo iterável, como uma matriz, fatia ou mapa.

Criando, analisando e usando modelos

Existem três métodos úteis principais ao trabalhar com modelos:

  1. Novo - cria um novo modelo indefinido.
  2. Parse - analisa como string de modelo especificado e retorna um modelo.
  3. Executar - aplica um modelo analisado a uma estrutura de dados e grava o resultado.

Um exemplo de como usar esses métodos é como mostrado:

Pacote principal
importação (
"registro"
"OS"
"Texto/modelo"
)
// Defina o Stuct para manter os dados
Digite usuários de estrutura
// Campos
Id, idade int
String de nome

func main ()
// Crie uma instância do objeto
Usuário1: = Usuários 1, 28, "Rick Tewk"
Temp: = Modelo.Novo modelo")
temp, _ = temp.Parse ("oi .Nome, você está no índice .Id e .Idade anos!")
err: = temp.Execute (OS.Stdout, usuário1)
se err != nil
registro.Fatal (ERR)

O exemplo acima usa os métodos novos, analisados ​​e executados do pacote de texto/modelo para analisar e executar um modelo.

Html/modelo

O pacote HTML/modelo fornece uma interface semelhante à do pacote de texto/modelo. No entanto, ele usa modelos orientados a dados para saída.

Um exemplo é como mostrado:

Criar um índice.arquivo html como:







HTML Tempating



Oi .Nome, você está no índice .Id e .Idade




Podemos então adicionar modelos dentro do arquivo go como:

Pacote principal
importação (
"FMT"
"OS"
"HTML/modelo"
)
// // Definir stuct para manter os dados
Digite usuários de estrutura
// Campos
Id, idade int
String de nome

func main ()
Usuário1: = Usuários 1, 28, "Rick Tewk"
temp, err: = modelo.Parsefiles ("índice.html ")
err = temp.Execute (OS.Stdout, usuário1)
fmt.Println (err)

No exemplo acima, usamos o método parsefiles () para adicionar modelos ao arquivo de índice. O código acima deve retornar:







HTML Tempating



Oi Rick Tewk, você está no índice 1 e 28




Observe que o HTML arquiva as informações da estrutura no arquivo Go

Conclusão

Neste artigo, exploramos como incluir conteúdo dinâmico usando o texto/modelo e pacotes HTML/modelo.

Obrigado pela leitura!