使用 golang 模板打印以逗号和“或”分隔的列表

在 stackoverflow 上的其他地方已经讨论过,您可以打印一个以逗号分隔的列表,如下所示:


{{ range $index, $element := .TeamMembers}}

    {{if $index}},{{end}}

    {{$element.Name}}

{{end}}

当您需要一个与最后一项不同的列表分隔符时,是否有一个简单的解决方案,包括一个“或”:


{name}, {name}, {name}, or {name}

例如,这是为了允许创建格式化的句子,例如:


The members of this team are Bob, Jane, and Mike.

我可以锻炼的任何模板代码最终都会变得非常冗长和复杂。


富国沪深
浏览 291回答 2
2回答

catspeake

对于从列表中“创建适当的英语格式句子”,请使用函数。你的复数例子是这个团队的成员是鲍勃、简和迈克。列表中只有一个元素的单一示例是什么?例如,这个团队的唯一成员是鲍勃。当列表中没有元素时,您的空示例是什么?例如,该团队没有成员。从邮件合并中创建正确的英语句子和段落是很困难的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go