खोज…


वाक्य - विन्यास

  • t, {{.MyName .MyAge}} : = template.Parse ( {{.MyName .MyAge}}

  • t.Execute (os.Stdout, स्ट्रक्चर {MyValue, MyAge string} {"John Doe", "40.1"})

टिप्पणियों

गोलांग पैकेज प्रदान करता है जैसे:

  1. text/template

  2. 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