为了账号安全,请及时绑定邮箱和手机立即绑定

使用 gin + go-template 的相同代码但结果不同

使用 gin + go-template 的相同代码但结果不同

Go
慕村9548890 2021-11-01 15:09:56
基本信息Go 版本:go1.4.2 darwin/amd64操作系统:Mac OS X 10.10.5我正在开发一个基于go和gin编写的小型 Web 项目。这是我的 golang 代码。运行后,go run test.go我们有一个 Web 服务器,它正在侦听 8089。Golang test.gopackage mainimport "github.com/gin-gonic/gin"import "net/http"func main() {    router := gin.Default()    router.LoadHTMLGlob("templates/*")    router.GET("/index", func(c *gin.Context) {        c.HTML(http.StatusOK, "index.html", gin.H{            "scheme": "http",            "domain": "meican.loc",        })    })    router.Run(":8089") // listen and serve on 0.0.0.0:8089}后端生成的 html 代码应包含前端 javascript 引擎(假设为 Angular.js)使用的模板。所以模板代码在script标签中,就像这样:模板/index.html 的一部分<script type="text/template" charset="utf-8">  <div data="{{.scheme}}://{{.domain}}/qr"></div>  <div data="{{.scheme}}://{{.domain}}/qr"></div> <!-- problem here --></script>当{{.domain}}第二次使用时,我得到了不同的结果。我刷新了浏览器并查看了源代码。然后我得到了这个:浏览器源码结果<script type="text/template" charset="utf-8">  <div data="http://meican.loc/qr"></div>  <div data="http://"meican.loc"/qr"></div>  <!-- problems here --></script>第二个div有 2 个额外的双引号。为什么会发生这种情况?以及如何解决这个问题?
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

这是 Go 中的一个错误,已计划在2016 年 3 月的1.7 中修复(也在1.6 中部分解决


查看完整回答
反对 回复 2021-11-01
  • 1 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信