GO编程之旅2
简单结构多级嵌套问题
可以使用template模板。
template
Go语言文本模板引擎,提供了两个标准库,接口相同,功能略有不同。
•text/template: 基于模板输出文本内容•html/template: 基于模板输出安全的HTML格式内容,避免了某些注入攻击。
const templateText = `Output 0: {{title .Name1}}Output 1: {{title .Name2}}Output 2: {{.Name3 | title }}`func main(){ funcMap := template.FuncMap{ "title": strings.Title} tpl,_ := template.New("go-programming-tour").Funcs(funcMap).Parse(template.Text) data := map[string]string{ "Name1" : "go", "Name2" : "programming", "Name3" : "tour", } _ = tpl.Execute(os.Stdout,data)}
•{{}} : 标识符,模板内容原样输出。•. : .标识进行模板渲染的变量,可以为任何值。特殊情况会特定处理。•函数调用:通过FuncMap注册了名为title的自定义函数。上述表示了两种模板的处理方法,一个是函数参数后加变量参数,一种通过管道 | 的方式。
gin 框架
安装:go get -u github.com/gin-gonic/gin 启动一个简单的http服务
func main(){ r := gin.Default() r.GET("/ping",func(c *gin.Context){ c.JSON(200,gin.H{"message":"pong"}) }) r.Run() }
gin启动分为四大块:
1.默认Engine实例,官方默认提供的Logger和Recovery的中间件创建Engine实例。2.运行模式:表示当前为调试模式,建议在生成环境时切换为发布模式。3.路由注册:表示注册了GET/ping的路由,并输出了其调用方法的方法名。4.运行信息:表示本次启动监听的8080端口,默认为8080。
两个中间件的作用:
•Logger: 输出请求日志,并标准化日志的格式。•Recovery: 异常捕获,针对每次请求处理进行Recovery处理,防止因为出现panic导致服务崩溃,同时将异常日志的格式标准化。
Engine 实现了http.Handler接口
gin地址[1]
例如:
Go语言编程之旅[2]
References
[1]
gin地址: https://gin-gonic.com/[2]
Go语言编程之旅: go-programming.cn