Golang模板中使用什么分隔符比较合适?
Golang模板中使用什么分隔符比较合适? 我有这些分隔符,但我想看看其他选项?
"{{", "}}"
"((", "))"
"[[", "]]"
"#{", "}"
我使用来自Jinja语法的{% %}。
更多关于Golang模板中使用什么分隔符比较合适?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
我只是想要我提到的那些分隔符的替代方案,我已经想不出其他办法了。
你是说你的模板里有“{{”、“}}”吗?你可以把这些分隔符作为变量填充进去,这不会影响整个模板的解析。
我认为这件事,主要考虑的是你的模板文本命中分隔符的概率,我目前使用的模板基本上不改变默认分隔符,因为模板是由我生成的。 如果这个模板文本不可控,我猜你可能需要统计概率。
我喜欢这个想法!其他建议: {[ ]} {( )}
[{ }] [( )]
([ ]) ({ })
等等…
我没有遇到任何错误,这里提供另一种方案:"#{" 和 "}"
我只是在寻找模板中可以使用的分隔符想法,是的,这无关紧要,但它能激发我的创造力。
这里还有一个:"«", "»"
嗯,这是一个简单的问题吗?我认为更改这个分隔符确实需要考虑模板文本的问题,如果模板文本中总是包含分隔符,那么就需要频繁处理。例如,HTML中的“</”和“>”。
作为一名代码编写者,我会考虑这个分隔符是否会一直干扰模板文本的自由书写。至于其他方面,当然是怎么方便怎么来。
如果你觉得我在胡说八道,那么很抱歉打扰了。
如果你只是在考虑 func (t *Template) Delims(left string, right string) *Template 这个方法?那么我认为这并不相关,你应该考虑模板文本命中率的问题。
例如,如果文本中有大量的 "{{",那么显然你不应该使用 "{{" 作为分隔符;如果只是少量触发,那就无关紧要了。
func (t *Template) Delims(left string, right string) *Template
你把事情搞得太复杂了,问题很简单,我只是想要两个字符串作为思路,你为什么搞得这么复杂?
例如,我不会使用 “aa” 和 “bb” 这两个字符串作为分隔符,我必须使用有意义的字符,我在这里只是问了一个简单的问题,我还能用什么其他字符作为分隔符?
告诉我你是在开玩笑,因为这个问题太简单了。
我不太确定你想表达什么?我想你遇到了无法输出分隔符的问题?也许你应该写一些示例代码,让别人了解你的问题?如果是无法输出分隔符的问题,你可以试试这个:
t2 := template.New("")
parse, err := t2.Parse("abc{{.x}}d")
if err != nil {
panic(err)
}
bs := new(bytes.Buffer)
parse.Execute(bs, map[string]string{
"x": "{{",
})
fmt.Println(bs.String())


