package main
import (
"fmt"
"github.com/gin-gonic/gin"
"html/template"
"net/http"
"time"
)
func index(c *gin.Context) {
c.HTML(http.StatusOK, "index/index.tmpl", gin.H{
"title": "til",
"d": time.Date(2021, 8, 16, 0, 0, 0, 0, time.UTC),
})
}
func formatAsDate(t time.Time) string {
year, month, day := t.Date()
return fmt.Sprintf("%d-%d-%d", year, month, day)
}
func main() {
// 创建一个默认引擎
r := gin.Default()
// 自定义标识符,因为默认{{}}这种标识在前端框架中也有使用,会产生冲突
// 注意:改完标识符之后别忘了把模板里原先的标识符一起改掉
r.Delims("{[", "]}")
// 自定义模板方法
r.SetFuncMap(template.FuncMap{
"formatAsDate": formatAsDate,
})
// 加载当前目录下的所有模板文件,
// 如果多个目录下有同名的模板,需要在模板文件中命名(最好习惯性的命名,如果没有命名默认以文件名为模板名字)
r.LoadHTMLGlob("templates/**/*")
// 配置路由 url 函数
r.GET("/", index)
err := r.Run()
if err != nil {
fmt.Println("启动服务失败。。。")
}
}