Go template访问struct类型切片嵌套字段的正确语法是什么
你可以用括号包裹index调用后直接访问字段,这是最简洁的写法:
{{ (index .Slice 0).Type }}
如果有判空需求(比如要避免切片为空时报错),可以搭配with关键字临时切换上下文:
{{ with index .Slice 0 }} {{ .Type }} {{ end }}
报错原因说明
你之前的写法报错是因为Go模板的管道符|只会将前一个命令的输出作为后一个命令的第一个传入参数,不会修改当前作用域的.指向,所以你写的.Type实际是在访问传入模板的根对象的Type字段,而不是index返回的切片元素的字段,自然匹配不到对应字段报错。
内容的提问来源于stack exchange,提问作者andig
相关产品推荐
相关产品推荐

