Go template在range中取得parent pipeline的值的方式如下。
使用$
可取得傳入Template.Execute
的原資料。
例如下面使用{{$bullet}}
取得range外面的bullet
變數的值。
main.go
package main
import (
"html/template"
"os"
)
type Employee struct {
Name string
Age int
}
func main() {
text := `{{$bullet := "*"}}Employees:
{{range .}} {{$bullet} }Name:{{.Name}}, Age:{{.Age}}
{{end}}`
t := template.Must(template.New("demo").Parse(text))
data := []Employee{
{"John", 33},
{"Mary", 28},
}
err := t.Execute(os.Stdout, data)
if err != nil {
panic(err)
}
}
測試
執行程式輸出結果如下:
Employees:
* Name:John, Age:33
* Name:Mary, Age:28
沒有留言:
張貼留言