2013-07-15 8 views
5

मैं http/template पैकेज का उपयोग बार में एक टेम्पलेट में कुंजी और एक नक्शा के मूल्यों पर पुनरावृति करने के लिए। मैं कैसे दोनों कुंजी और टेम्पलेट में मूल्यों पर पुनरावृति करते हैं?कैसे एक जाओ एचटीएमएल टेम्पलेट

उदाहरण कोड:

template := ` 
<html> 
    <body> 
    <h1>Test Match</h1> 
     <ul> 
     {{range .}} 
      <li> {{.}} </li> 
     {{end}} 
    </ul> 
</body> 
</html>` 

dataMap["SOMETHING"] = 124 
dataMap["Something else"] = 125 
t, _ := template.Parse(template) 
t.Execute(w,dataMap) 

मैं कैसे टेम्पलेट में {{range}} में महत्वपूर्ण का उपयोग करते हैं

उत्तर

7

एक बात आप दो चर आवंटित करने के लिए range उपयोग कर रहा है की कोशिश कर सकते - के लिए कुंजी के लिए एक, एक मूल्य। प्रति this परिवर्तन (और docs), चाबियाँ जहां क्रमबद्ध क्रम में लौटे संभव कर रहे हैं।

package main 

import (
     "html/template" 
     "os" 
) 

func main() { 
     // Here we basically 'unpack' the map into a key and a value 
     tem := ` 
<html> 
    <body> 
    <h1>Test Match</h1> 
     <ul> 
     {{range $k, $v := . }} 
      <li> {{$k}} : {{$v}} </li> 
     {{end}} 
    </ul> 
</body> 
</html>` 

     // Create the map and add some data 
     dataMap := make(map[string]int) 
     dataMap["something"] = 124 
     dataMap["Something else"] = 125 

     // Create the new template, parse and add the map 
     t := template.New("My Template") 
     t, _ = t.Parse(tem) 
     t.Execute(os.Stdout, dataMap) 
} 

इसमें से निपटने में होने की संभावना बेहतर तरीके हैं, लेकिन यह मेरा (बहुत सरल) में काम किया है का उपयोग मामलों :)

: यहाँ अपने डेटा का उपयोग कर एक उदाहरण है
संबंधित मुद्दे