/ Sérendipité / Code / Boilerplate Go / Gin

Boilerplate Go / Gin

Simple fichier de démarrage pour une application web Gin avec templating HTML et service des assets, fichiers inclus dans le binaire:

package main

import (
    "embed"
    "github.com/gin-gonic/gin"
    "html/template"
    "net/http"
)

//go:embed templates/* static/*
var embedded embed.FS

func main() {
    router := gin.Default()
    html := template.Must(template.ParseFS(embedded, "templates/*.gohtml"))
    router.SetHTMLTemplate(html)
    router.StaticFS("/assets/", http.FS(embedded))
    router.GET("/", func(context *gin.Context) {
       context.HTML(http.StatusOK, "index.gohtml", gin.H{
          "name": "Jane Doe",
       })
    })
    err := router.Run()
    if err != nil {
       return
    }
}