文档里只有简单的字符串显示,对于正常的页面开发是远远不够的。试着用了GO的模板渲染方式,也能正常使用,下面是if判断和range循环输出的小示例:
项目文件结构:
main.go文件源码:
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
type User struct {
Id int
Name string
Age int
Info string
}
func main() {
// 1.创建路由
r := gin.Default()
// 2.绑定路由规则,执行的函数
// gin.Context,封装了request和response
r.LoadHTMLGlob("temp/*")
var users []User
user1 := User{1, "www.runoob.com", 12, "6495407DDDD"}
user2 := User{2, "FFFFFFF", 12, "FFFFFF"}
users = []User{user1,user2}
r.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", gin.H{"title": "我是测试", "u": users})
})
// 3.监听端口,默认在8080
// Run("里面不指定端口号默认为8080")
r.Run(":8000")
}
index.html模板源码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{{.u}}}
<br/>
{{range $idx,$hobby := .u}}
{{if gt $idx 0}}
<p>111111111111111111111111</p>
{{else}}
<p>000000000000000000000000</p>
{{end}}
<li>{{$idx}} --- {{$hobby.Id}}:{{$hobby.Name}}</li>
{{end}}
<br/>
</body>
</html>
运行结果: