Go模板中的切片字符串

时间:2014-09-24 10:03:07

标签: go

如何使用text/template包在模板中切割字符串?当然,{{ $myString[0:5] }}之类的东西不起作用。

1 个答案:

答案 0 :(得分:7)

使用template.Funcs定义您自己的切片函数。

代码:

t.Funcs(template.FuncMap{
    "stringSlice": func(s string, i, j int) string {
        return s[i:j]
    }
})

模板:

{{ stringSlice .MyString 0 5 }}

另请参阅:Template and custom function; panic: function not defined

PS:正如@dyoo在评论中正确指出的那样;这个最小的stringSlice函数不会阻止你将UTF-8字符切成两半。你应该在现场环境中处理它。