2014-12-03 161 views
1

我有興趣在某些條件下向GO模板添加內容。我已經定義了這樣的一個結構 -如果 - 其他條件

{ 

    "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模板中正常工作。