#golang html/template: 構造体メンバにスライスがあるとき、html側でスライスの要素を指定するには?

Posted by kwmt on Tue, Jan 15, 2013

先に答えを書くと、 indexを使います。

例えば、goファイル内で次のように構造体のメンバにスライスHotelsを定義した場合、

type Body struct {
	PagingInfo PagingInfo `xml:"SimpleHotelSearch>paginginfo"`
	Hotels     []Hotel    `xml:"SimpleHotelSearch>hotel"`
}

htmlファイルでは、次のように記述します。

[]Hotelsの0番目の要素は{{index .Hotels 0}}です。 <!-- Hotels[0]と同じ意味です。 -->

参考

text/templateパッケージのFunctions
http://golang.org/pkg/text/template/#hdr-Functions
text/templateパッケージのテストソース(indexで検索)
http://golang.org/src/pkg/text/template/exec_test.go
stackoverflow: golang html/template: how to index a slice element?
http://stackoverflow.com/questions/12701452/golang-html-template-how-to-index-a-slice-element


comments powered by Disqus