首页 >后端开发 >Golang >如何截断 Go 模板中的字符串?

如何截断 Go 模板中的字符串?

Patricia Arquette
Patricia Arquette原创
2024-11-10 09:24:02452浏览

How to Truncate Strings in Go Templates?

在 Go 模板中截断字符串

在 Go 中使用 HTML 模板时,您可能会遇到需要限制字符串长度的情况细绳。这对于防止文本溢出或确保一致的显示很有用。

在提供的示例中,您有一个在范围循环中显示“.Content”内容的模板。默认情况下,它将打印整个字符串。但是,您希望将其截断为最多 25 个字符。

解决方案在于在模板中使用 printf。此函数允许您以各种方式操作字符串,包括截断。

使用 printf

要截断模板中的字符串,您可以将 printf 指令与指定所需长度的格式字符串。例如:

{{ printf "%.25s" .Content }}

此格式字符串告诉 printf 将“.Content”格式化为字符串,并将其长度限制为 25 个字符。超过前 25 个字符的任何多余内容都将被丢弃。

动态截断

您还可以通过将所需的数字作为附加参数传递给printf:

{{ printf "%.*s" 25 .Content }}

在这种情况下,第一个参数 (25) 表示最大长度截断为.第二个参数(“.Content”)是要截断的字符串。

精度注意事项

需要注意的是 printf 使用符文(Unicode 代码点)用于测量宽度和精度,而不是字节。这意味着多字节 UTF-8 字符可能会在中间被截断。如果您需要基于字节的截断,请考虑使用替代方法,例如子字符串切片。

以上是如何截断 Go 模板中的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn