Go
टेम्पलेट्स
खोज…
वाक्य - विन्यास
t,
{{.MyName .MyAge}}
: = template.Parse ({{.MyName .MyAge}}
t.Execute (os.Stdout, स्ट्रक्चर {MyValue, MyAge string} {"John Doe", "40.1"})
टिप्पणियों
गोलांग पैकेज प्रदान करता है जैसे:
text/template
html/template
पाठ्य-सामग्री और HTML आउटपुट उत्पन्न करने के लिए डेटा-चालित टेम्पलेट्स को लागू करने के लिए।
एक पाठ टेम्पलेट का उपयोग करके मानक चर के लिए संरचनात्मक चर के आउटपुट मान
package main
import (
"log"
"text/template"
"os"
)
type Person struct{
MyName string
MyAge int
}
var myTempContents string= `
This person's name is : {{.MyName}}
And he is {{.MyAge}} years old.
`
func main() {
t,err := template.New("myTemp").Parse(myTempContents)
if err != nil{
log.Fatal(err)
}
myPersonSlice := []Person{ {"John Doe",41},{"Peter Parker",17} }
for _,myPerson := range myPersonSlice{
t.Execute(os.Stdout,myPerson)
}
}
टेम्पलेट से कॉल करने के लिए फ़ंक्शन को परिभाषित करना
package main
import (
"fmt"
"net/http"
"os"
"text/template"
)
var requestTemplate string = `
{{range $i, $url := .URLs}}
{{ $url }} {{(status_code $url)}}
{{ end }}`
type Requests struct {
URLs []string
}
func main() {
var fns = template.FuncMap{
"status_code": func(x string) int {
resp, err := http.Head(x)
if err != nil {
return -1
}
return resp.StatusCode
},
}
req := new(Requests)
req.URLs = []string{"http://godoc.org", "http://stackoverflow.com", "http://linux.org"}
tmpl := template.Must(template.New("getBatch").Funcs(fns).Parse(requestTemplate))
err := tmpl.Execute(os.Stdout, req)
if err != nil {
fmt.Println(err)
}
}
यहाँ हम अपने परिभाषित फंक्शन status_code
का उपयोग टेम्पलेट से वेब पेज का स्टेटस कोड प्राप्त करने के लिए करते हैं।
आउटपुट:
http://godoc.org 200
http://stackoverflow.com 200
http://linux.org 200
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow