Một trong những được xác định trước global template functions là index
.
index
Trả về kết quả lập chỉ mục đối số đầu tiên theo các đối số sau đây . Do đó, index x 1 2 3
là, trong cú pháp Go, x[1][2][3]
. Mỗi mục được lập chỉ mục phải là map
, slice
hoặc array
.
Vì vậy, bạn đang đi đúng hướng. Vấn đề duy nhất là bạn không hạch toán thực tế là dot
đã được gán lại trong khối range
.
Vì vậy, bạn cần phải lấy lại cho dấu chấm ban đầu, cho rằng chúng tôi đã sau
Khi thực hiện bắt đầu, $
được thiết lập để tranh luận dữ liệu truyền cho Execute, có nghĩa là, với giá trị ban đầu của chấm.
Vì vậy (giả sử không có gì khác đang xảy ra trong mẫu của bạn là), bạn sẽ có thể làm:
{{range $i, $e := .First}}$e - {{index $.Second $i}}{{end}}
Cá nhân mặc dù, tôi sẽ tạo một hàm mẫu gọi zip
chấp nhận nhiều lát và trả về một lát của mỗi cặp giá trị. Nó sẽ trông sạch hơn trong mẫu của bạn và có thể được tái sử dụng ở đâu đó.
Nguồn
2013-04-22 08:13:41