2014-12-03 4 views
1

Я заинтересован в добавлении контента в шаблон GO на основе некоторых условий. У меня есть структура определяется как это -If - Else condition

{ 

    "resourceActions": { 
    "update": { 
    "input": null, 
    "output": "instance", 
    }, 
    "stop": { 
    "input": "instanceStop", 
    "output": "instance", 
    }, 
    "console": { 
    "input": "instanceConsoleInput", 
    "output": "instanceConsole", 
    }, 
    "restart": { 
    "input": null, 
    "output": "instance", 
    }, 
    "remove": { 
    "input": null, 
    "output": "instance", 
    }, 

} 

мне нужно перебрать «resourceActions», и если действие, указанное в этом, как обновление, перезапуск и т.д. имеет вход в нуль затем генерировать «A()» еще порождают A (ввод * {inputVAL})

Пример -

{ 

    for Update - A() 
    for stop - A(input *instanceStop) 
    for console - A(input *instanceConsoleInput) 
    for restart - A() 

} 

Как я могу сделать это в GO-tempaltes

ответ

2

я решил мою проблему, как это -

{ 
    {{ $temp := .schema.Id }} 
    {{if .Input}} func (c *Container) {{$key }}(input *{{.Input}}) *{{$temp}}{} {{else}} func (c *Container) {{$key}}() *{{$temp}}{}{{end}} 
} 

Это прекрасно работает в шаблонах GO.