gpt4 book ai didi

templates - 如何处理模板中的字符串格式

转载 作者:IT王子 更新时间:2023-10-29 00:52:39 26 4
gpt4 key购买 nike

我将一个结构传递给一个模板,该模板有时包含对于显示来说太长的字符串。在任何其他语言中,我只会在模板本身中附加格式规则。在模板中完成格式化的惯用方法是什么?

例子:

type struct MyStruct{
something string
anotherThing string
}

在模板中

<table>
{{ range .Rows }} //NOTE! Rows is an array of MyStruct objects
<tr>
<td>{{ .something }}</td>
<td>{{ .anotherThing }}</td>
</tr>
{{ end }}
</table>

如果上面的内容不明显,那么问题是“您将如何确保 .anotherThing 或 .something 不显示超过 40 个字符?

一个解决方案可能是使结构包含四个值,两个原始字符串和它们的两个格式化版本,即在 .go 文件中进行格式化,然后始终在悬停或类似的工具提示中显示原始字符串那个。

最佳答案

您可以将自定义截断函数添加到 FuncMap .有人发布了 example在 Playground 上,它将模板变量转换为大写,如下所示:

{{ .Name | ToUpper  }}

编辑。将上面的代码调整为基本的 Truncate 过滤器:http://play.golang.org/p/e0eaf-fyrH

{{ .Name | Truncate  }}

如果你想传递一个参数给Truncate,你也可以这样写:

{{ Truncate .Name 3 }}

另请参阅:http://play.golang.org/p/Gh3JY1wzcF

关于templates - 如何处理模板中的字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25164392/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com