我正在尝试使用go的模板系统编写一个像这样的字符串:(p1,p2,p3),其中p1,p2,...来自程序中的数组。我的问题是如何为最后一个(或第一个)元素正确放置逗号。我的非工作版本输出(p1,p2,p3,)如下所示:package mainimport "text/template"import "os"func main() { ip := []string{"p1", "p2", "p3"} temp := template.New("myTemplate") temp,_ = temp.Parse(paramList) temp.Execute(os.Stdout, ip)}const paramList = `{{ $i := . }}({{ range $i }}{{ . }}, {{end}})`到目前为止,我的最佳线索是在以下语句中的http://golang.org/pkg/text/template/中找到:如果“范围”操作初始化变量,则将变量设置为迭代的连续元素。另外,“范围”可以声明两个变量,以逗号分隔:$index, $element := pipeline在这种情况下,$ index和$ element分别设置为数组/切片索引或映射键和元素的连续值。请注意,如果只有一个变量,则会为其分配元素;否则,将为它分配元素。这与Go range子句中的约定相反。建议在哪里索引这表明可以在迭代中获得索引,但我只是不知道声明两个变量的范围是什么意思,以及这些变量在模板中应声明的位置。
- 1 回答
- 0 关注
- 286 浏览
添加回答
举报
0/150
提交
取消