@using System @using System.Collections.Generic @using System.Linq @using AutoRest.Core.Utilities @using AutoRest.Go @using AutoRest.Go.Model @using AutoRest.Go.Templates.v1 @inherits AutoRest.Core.Template @{ var modelName = CodeNamerGo.Instance.CamelCase(Model.Name); var methods = new List(); Model.Methods.Cast().OrderBy(m => m.Name.Value).ForEach(m => methods.Add(m)); } package @Model.PackageName @EmptyLine @Header("// ") @EmptyLine import ( @foreach (var import in Model.Imports) { @:@(import) } ) @EmptyLine @WrapComment("// ", Model.Documentation) type @(Model.ClientName) struct { @(Model.BaseClient) } @WrapComment("// ", string.Format("New{0} creates an instance of the {0} client.", Model.ClientName)) func New@(Model.ClientName)(@(Model.GlobalParameters)) @(Model.ClientName) { @if (!Model.IsCustomBaseUri) { return New@(Model.ClientName)WithBaseURI(DefaultBaseURI, @(Model.HelperGlobalParameters)) } else { return @(Model.ClientName){ New(@(Model.HelperGlobalParameters))} } } @EmptyLine @if (!Model.IsCustomBaseUri) { @WrapComment("// ", string.Format("New{0}WithBaseURI creates an instance of the {0} client.", Model.ClientName)) func New@(Model.ClientName)WithBaseURI(baseURI string, @(Model.GlobalParameters)) @(Model.ClientName) { return @(Model.ClientName){ NewWithBaseURI(baseURI, @(Model.HelperGlobalParameters))} } @EmptyLine } @foreach (var method in methods) { @(Include(new MethodTemplate(), method)) @EmptyLine }