diff --git a/core/conf/config.go b/core/conf/config.go index 6428abd7d..0ca8eccf3 100644 --- a/core/conf/config.go +++ b/core/conf/config.go @@ -316,7 +316,7 @@ func toLowerCaseInterface(v any, info *fieldInfo) any { case map[string]any: return toLowerCaseKeyMap(vv, info) case []any: - var arr []any + arr := make([]any, 0, len(vv)) for _, vvv := range vv { arr = append(arr, toLowerCaseInterface(vvv, info)) } diff --git a/core/discov/internal/registry.go b/core/discov/internal/registry.go index 49463f7bc..416645560 100644 --- a/core/discov/internal/registry.go +++ b/core/discov/internal/registry.go @@ -207,7 +207,7 @@ func (c *cluster) getCurrent(key watchKey) []KV { return nil } - var kvs []KV + kvs := make([]KV, 0, len(watcher.values)) for k, v := range watcher.values { kvs = append(kvs, KV{ Key: k, @@ -308,7 +308,7 @@ func (c *cluster) load(cli EtcdClient, key watchKey) int64 { time.Sleep(coolDownUnstable.AroundDuration(coolDownInterval)) } - var kvs []KV + kvs := make([]KV, 0, len(resp.Kvs)) for _, ev := range resp.Kvs { kvs = append(kvs, KV{ Key: string(ev.Key), @@ -352,7 +352,7 @@ func (c *cluster) reload(cli EtcdClient) { // cancel the previous watches close(c.done) c.watchGroup.Wait() - var keys []watchKey + keys := make([]watchKey, 0, len(c.watchers)) for wk, wval := range c.watchers { keys = append(keys, wk) if wval.cancel != nil { diff --git a/core/logx/rotatelogger.go b/core/logx/rotatelogger.go index 987eb5fcb..6d252ef93 100644 --- a/core/logx/rotatelogger.go +++ b/core/logx/rotatelogger.go @@ -211,7 +211,7 @@ func (r *SizeLimitRotateRule) OutdatedFiles() []string { } } - var result []string + result := make([]string, 0, len(outdated)) for k := range outdated { result = append(result, k) } diff --git a/core/stores/redis/redis.go b/core/stores/redis/redis.go index ddc073ed0..76691c0e5 100644 --- a/core/stores/redis/redis.go +++ b/core/stores/redis/redis.go @@ -1944,7 +1944,7 @@ func (s *Redis) ZaddsCtx(ctx context.Context, key string, ps ...Pair) (int64, er return 0, err } - var zs []red.Z + zs := make([]red.Z, 0, len(ps)) for _, p := range ps { z := red.Z{Score: float64(p.Score), Member: p.Key} zs = append(zs, z) diff --git a/mcp/server.go b/mcp/server.go index 1c95095ce..8897b4b91 100644 --- a/mcp/server.go +++ b/mcp/server.go @@ -392,8 +392,8 @@ func (s *sseMcpServer) processListTools(ctx context.Context, client *mcpClient, } } - var toolsList []Tool s.toolsLock.Lock() + toolsList := make([]Tool, 0, len(s.tools)) for _, tool := range s.tools { if len(tool.InputSchema.Type) == 0 { tool.InputSchema.Type = ContentTypeObject @@ -437,8 +437,8 @@ func (s *sseMcpServer) processListPrompts(ctx context.Context, client *mcpClient } // Prepare prompt list - var promptsList []Prompt s.promptsLock.Lock() + promptsList := make([]Prompt, 0, len(s.prompts)) for _, prompt := range s.prompts { promptsList = append(promptsList, prompt) } @@ -475,8 +475,8 @@ func (s *sseMcpServer) processListResources(ctx context.Context, client *mcpClie } } - var resourcesList []Resource s.resourcesLock.Lock() + resourcesList := make([]Resource, 0, len(s.resources)) for _, resource := range s.resources { // Create a copy without the handler function which shouldn't be sent to clients resourceCopy := Resource{ diff --git a/tools/goctl/api/dartgen/util.go b/tools/goctl/api/dartgen/util.go index 79d94e809..d781fe263 100644 --- a/tools/goctl/api/dartgen/util.go +++ b/tools/goctl/api/dartgen/util.go @@ -250,8 +250,9 @@ func extractPositionalParamsFromPath(route spec.Route) string { return "" } - var params []string - for _, member := range ds.GetTagMembers(pathTagKey) { + tagMembers := ds.GetTagMembers(pathTagKey) + params := make([]string, 0, len(tagMembers)) + for _, member := range tagMembers { dartType := member.Type.Name() params = append(params, fmt.Sprintf("%s %s", dartType, getPropertyFromMember(member))) } diff --git a/tools/goctl/api/gogen/genconfig.go b/tools/goctl/api/gogen/genconfig.go index 0f3920d7f..67740f7cb 100644 --- a/tools/goctl/api/gogen/genconfig.go +++ b/tools/goctl/api/gogen/genconfig.go @@ -36,13 +36,13 @@ func genConfig(dir string, cfg *config.Config, api *spec.ApiSpec) error { } authNames := getAuths(api) - var auths []string + auths := make([]string, 0, len(authNames)) for _, item := range authNames { auths = append(auths, fmt.Sprintf("%s %s", item, jwtTemplate)) } jwtTransNames := getJwtTrans(api) - var jwtTransList []string + jwtTransList := make([]string, 0, len(jwtTransNames)) for _, item := range jwtTransNames { jwtTransList = append(jwtTransList, fmt.Sprintf("%s %s", item, jwtTransTemplate)) } diff --git a/tools/goctl/api/gogen/genmain.go b/tools/goctl/api/gogen/genmain.go index 154a7dccf..21453c54c 100644 --- a/tools/goctl/api/gogen/genmain.go +++ b/tools/goctl/api/gogen/genmain.go @@ -43,7 +43,7 @@ func genMain(dir, rootPkg string, cfg *config.Config, api *spec.ApiSpec) error { } func genMainImports(parentPkg string) string { - var imports []string + imports := make([]string, 0, 5) imports = append(imports, fmt.Sprintf("\"%s\"", pathx.JoinPackages(parentPkg, configDir))) imports = append(imports, fmt.Sprintf("\"%s\"", pathx.JoinPackages(parentPkg, handlerDir))) imports = append(imports, fmt.Sprintf("\"%s\"\n", pathx.JoinPackages(parentPkg, contextDir))) diff --git a/tools/goctl/api/gogen/gentypes.go b/tools/goctl/api/gogen/gentypes.go index 80d78e51b..c99a06511 100644 --- a/tools/goctl/api/gogen/gentypes.go +++ b/tools/goctl/api/gogen/gentypes.go @@ -154,7 +154,7 @@ func genTypesWithGroup(dir string, cfg *config.Config, api *spec.ApiSpec) error } for group, typeGroup := range groupTypes { - var types []spec.Type + types := make([]spec.Type, 0, len(typeGroup)) for _, v := range typeGroup { types = append(types, v) } diff --git a/tools/goctl/api/parser/g4/ast/type.go b/tools/goctl/api/parser/g4/ast/type.go index 430231767..7fe1202ae 100644 --- a/tools/goctl/api/parser/g4/ast/type.go +++ b/tools/goctl/api/parser/g4/ast/type.go @@ -126,7 +126,7 @@ func (v *ApiVisitor) VisitTypeLit(ctx *api.TypeLitContext) any { // VisitTypeBlock implements from api.BaseApiParserVisitor func (v *ApiVisitor) VisitTypeBlock(ctx *api.TypeBlockContext) any { list := ctx.AllTypeBlockBody() - var types []TypeExpr + types := make([]TypeExpr, 0, len(list)) for _, each := range list { types = append(types, each.Accept(v).(TypeExpr)) } diff --git a/tools/goctl/api/parser/parser.go b/tools/goctl/api/parser/parser.go index d29be54ad..7c3642325 100644 --- a/tools/goctl/api/parser/parser.go +++ b/tools/goctl/api/parser/parser.go @@ -125,7 +125,7 @@ func (p parser) fillTypes() error { for _, item := range p.ast.Type { switch v := (item).(type) { case *ast.TypeStruct: - var members []spec.Member + members := make([]spec.Member, 0, len(v.Fields)) for _, item := range v.Fields { members = append(members, p.fieldToMember(item)) } diff --git a/tools/goctl/api/spec/fn.go b/tools/goctl/api/spec/fn.go index 441f27a21..9555411b1 100644 --- a/tools/goctl/api/spec/fn.go +++ b/tools/goctl/api/spec/fn.go @@ -20,11 +20,11 @@ const ( var definedKeys = []string{bodyTagKey, formTagKey, pathTagKey, headerTagKey} func (s Service) JoinPrefix() Service { - var groups []Group + groups := make([]Group, 0, len(s.Groups)) for _, g := range s.Groups { prefix := strings.TrimSpace(g.GetAnnotation(RoutePrefixKey)) prefix = strings.ReplaceAll(prefix, `"`, "") - var routes []Route + routes := make([]Route, 0, len(g.Routes)) for _, r := range g.Routes { r.Path = path.Join("/", prefix, r.Path) routes = append(routes, r) diff --git a/tools/goctl/api/spec/tags.go b/tools/goctl/api/spec/tags.go index 1e3d153b3..31d45303e 100644 --- a/tools/goctl/api/spec/tags.go +++ b/tools/goctl/api/spec/tags.go @@ -66,7 +66,7 @@ func (t *Tags) Keys() []string { if t == nil { return []string{} } - var keys []string + keys := make([]string, 0, len(t.tags)) for _, tag := range t.tags { keys = append(keys, tag.Key) } diff --git a/tools/goctl/api/swagger/api.go b/tools/goctl/api/swagger/api.go index 9f9baba1b..ed32c45c8 100644 --- a/tools/goctl/api/swagger/api.go +++ b/tools/goctl/api/swagger/api.go @@ -19,7 +19,7 @@ func fillAllStructs(api *spec.ApiSpec) { } for _, group := range api.Service.Groups { - var routes []spec.Route + routes := make([]spec.Route, 0, len(group.Routes)) for _, route := range group.Routes { route.RequestType = fillStruct("", route.RequestType, structTypes) route.ResponseType = fillStruct("", route.ResponseType, structTypes) @@ -74,7 +74,7 @@ func fillStruct(parent string, tp spec.Type, allTypes map[string]spec.DefineStru val.Members = members return val case spec.NestedStruct: - var members []spec.Member + members := make([]spec.Member, 0, len(val.Members)) for _, member := range val.Members { switch memberType := member.Type.(type) { case spec.PointerType: diff --git a/tools/goctl/api/swagger/options.go b/tools/goctl/api/swagger/options.go index a2a35fa4d..61b6b6e69 100644 --- a/tools/goctl/api/swagger/options.go +++ b/tools/goctl/api/swagger/options.go @@ -67,11 +67,11 @@ func enumsValueFromOptions(options []string) []any { } for _, option := range options { if strings.HasPrefix(option, enumFlag) { - var resp = make([]any, 0) val := option[8:] fields := util.FieldsAndTrimSpace(val, func(r rune) bool { return r == '|' }) + var resp = make([]any, 0, len(fields)) for _, field := range fields { resp = append(resp, field) } diff --git a/tools/goctl/api/swagger/swagger.go b/tools/goctl/api/swagger/swagger.go index 41966bf77..106b041ef 100644 --- a/tools/goctl/api/swagger/swagger.go +++ b/tools/goctl/api/swagger/swagger.go @@ -244,7 +244,7 @@ func isOptional(_ Context, options []string) bool { func pathVariable2SwaggerVariable(_ Context, path string) string { pathItems := strings.FieldsFunc(path, slashRune) - var resp []string + resp := make([]string, 0, len(pathItems)) for _, v := range pathItems { if strings.HasPrefix(v, ":") { resp = append(resp, "{"+v[1:]+"}") diff --git a/tools/goctl/api/util/case.go b/tools/goctl/api/util/case.go index b48f73576..c01115d1f 100644 --- a/tools/goctl/api/util/case.go +++ b/tools/goctl/api/util/case.go @@ -90,7 +90,7 @@ func ToUpperCase(r rune) rune { // ToLower returns a copy string by converting it into lower func ToLower(s string) string { - var out []rune + out := make([]rune, 0, len(s)) for _, r := range s { out = append(out, ToLowerCase(r)) } @@ -99,7 +99,7 @@ func ToLower(s string) string { // ToUpper returns a copy string by converting it into upper func ToUpper(s string) string { - var out []rune + out := make([]rune, 0, len(s)) for _, r := range s { out = append(out, ToUpperCase(r)) } diff --git a/tools/goctl/model/sql/command/command.go b/tools/goctl/model/sql/command/command.go index e67c2dc75..27760521d 100644 --- a/tools/goctl/model/sql/command/command.go +++ b/tools/goctl/model/sql/command/command.go @@ -172,7 +172,7 @@ func (p pattern) Match(s string) bool { } func (p pattern) list() []string { - var ret []string + ret := make([]string, 0, len(p)) for v := range p { ret = append(ret, v) } diff --git a/tools/goctl/model/sql/gen/keys.go b/tools/goctl/model/sql/gen/keys.go index ff4f93185..b752c95c4 100644 --- a/tools/goctl/model/sql/gen/keys.go +++ b/tools/goctl/model/sql/gen/keys.go @@ -39,7 +39,7 @@ type Join []string func genCacheKeys(prefix string, table parser.Table) (Key, []Key) { var primaryKey Key - var uniqueKey []Key + uniqueKey := make([]Key, 0, len(table.UniqueIndex)) primaryKey = genCacheKey(prefix, table.Db, table.Name, []*parser.Field{&table.PrimaryKey.Field}) for _, each := range table.UniqueIndex { uniqueKey = append(uniqueKey, genCacheKey(prefix, table.Db, table.Name, each))