बस कोष्ठक छोड़ दें और यह ठीक होना चाहिए। उदाहरण:
package main
import (
"html/template"
"log"
"os"
)
type Person string
func (p Person) Label() string {
return "This is " + string(p)
}
func main() {
tmpl, err := template.New("").Parse(`{{.Label}}`)
if err != nil {
log.Fatalf("Parse: %v", err)
}
tmpl.Execute(os.Stdout, Person("Bob"))
}
documentation के अनुसार, आप किसी भी विधि है जो (किसी भी प्रकार की) एक मूल्य या दो मानों वापस लौट आता है दूसरा एक प्रकार error
की है कॉल कर सकते हैं। बाद के मामले में, Execute
उस त्रुटि को वापस कर देगा यदि यह गैर-शून्य है और टेम्पलेट के निष्पादन को रोकें।
धन्यवाद, यह काम करता है! मैंने कोशिश की थी, लेकिन मेरी विधि का रिसीवर * व्यक्ति के बजाय व्यक्ति था। तो यह पॉइंटर रिसीवर के साथ काम नहीं करता है, जो कैच लगता है। – Blacksad
यह पॉइंटर रिसीवर के साथ भी काम करता है। लेकिन कृपया ध्यान दें कि जब आपके पास 'func (p * व्यक्ति) लेबल() 'प्रकार है, तो' * व्यक्ति 'के केवल मानों में लेबल() विधि होगी। आप उस विधि को 'व्यक्ति' पर कॉल नहीं कर सकते, क्योंकि आपने इसे परिभाषित नहीं किया है। – tux21b
और क्या मैं {{&। }} का पता पाने के लिए। मेरे टेम्पलेट में? – Blacksad