2016-04-20 4 views
0

Я пытаюсь найти способ передать значение в функцию шаблона go. Что я имею в виду. У меня есть список функций шаблона, определенного в методе STRUCT:Передайте отдельное значение в функцию шаблона

func (o *MyObj) run() error{ 
    funcMap := template.FuncMap{ 
    "func1": func1, 
    "func2": func2, 
    } 
} 

Function1 подпись func func1(myval string) string{...}, но Function2 идентификатор необходимо иметь доступ к одному из MyObj структуры поля. Среднее:

func func2(myval string) string{ 
//MyObj.field would need to be used here.. How can i do it? 
} 
+1

'FUNC (это * MyObj) func2 (myval строка) строка {}' и в карте ' "func2": myobj.func2' –

+0

Большое спасибо @JiangYD! – ArkadyB

+0

также: 'template.FuncMap {" func2 ": func (myval string) string {return origFunc (myval, othervar, anotherVar)}}' othevar и anothervar доступны в этом контексте (глобальный var, локальный var в этом масштаб или ...) – fzerorubigd

ответ

0

Кредит @JiangYD

func (o *MyObj)func2(myval string) string{}` 

func (o *MyObj) run() error{ 
    funcMap := template.FuncMap{ 
    "func1": func1, 
    "func2": o.func2, 
    } 
} 
Смежные вопросы