From 34900318b19d0247c1c70b1f7f4b1a45210cbb10 Mon Sep 17 00:00:00 2001 From: wit Date: Wed, 29 Oct 2025 15:37:48 +0800 Subject: [PATCH] all: replace Split with SplitSeq for better efficiency in Go 1.24 --- build/ci.go | 2 +- cmd/geth/config.go | 2 +- cmd/utils/flags.go | 4 ++-- core/blockchain.go | 2 +- internal/debug/api.go | 2 +- log/handler_glog.go | 4 ++-- node/api.go | 10 +++++----- p2p/discover/v5wire/encoding_test.go | 2 +- p2p/dnsdisc/tree.go | 2 +- rlp/internal/rlpstruct/rlpstruct.go | 2 +- rpc/server_test.go | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build/ci.go b/build/ci.go index 156626a82d..baccc9ddac 100644 --- a/build/ci.go +++ b/build/ci.go @@ -499,7 +499,7 @@ func doCheckBadDeps() { if err != nil { log.Fatalf("Failed to list '%s' dependencies: %v", rule[0], err) } - for _, line := range strings.Split(string(out), "\n") { + for line := range strings.SplitSeq(string(out), "\n") { if strings.TrimSpace(line) == rule[1] { log.Printf("Found bad dependency '%s' -> '%s'", rule[0], rule[1]) failed = true diff --git a/cmd/geth/config.go b/cmd/geth/config.go index fcb315af97..0fe258c53b 100644 --- a/cmd/geth/config.go +++ b/cmd/geth/config.go @@ -291,7 +291,7 @@ func makeFullNode(ctx *cli.Context) *node.Node { stack.RegisterLifecycle(simBeacon) banner := constructDevModeBanner(ctx, cfg) - for _, line := range strings.Split(banner, "\n") { + for line := range strings.SplitSeq(banner, "\n") { log.Warn(line) } } else if ctx.IsSet(utils.BeaconApiFlag.Name) { diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 5a7e40767c..baaee845ce 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -1584,7 +1584,7 @@ func setRequiredBlocks(ctx *cli.Context, cfg *ethconfig.Config) { } } cfg.RequiredBlocks = make(map[uint64]common.Hash) - for _, entry := range strings.Split(requiredBlocks, ",") { + for entry := range strings.SplitSeq(requiredBlocks, ",") { parts := strings.Split(entry, "=") if len(parts) != 2 { Fatalf("Invalid required block entry: %s", entry) @@ -2348,7 +2348,7 @@ func MakeConsolePreloads(ctx *cli.Context) []string { // Otherwise resolve absolute paths and return them var preloads []string - for _, file := range strings.Split(ctx.String(PreloadJSFlag.Name), ",") { + for file := range strings.SplitSeq(ctx.String(PreloadJSFlag.Name), ",") { preloads = append(preloads, strings.TrimSpace(file)) } return preloads diff --git a/core/blockchain.go b/core/blockchain.go index b7acd12aca..b30d172286 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -365,7 +365,7 @@ func NewBlockChain(db ethdb.Database, genesis *Genesis, engine consensus.Engine, } log.Info("") log.Info(strings.Repeat("-", 153)) - for _, line := range strings.Split(chainConfig.Description(), "\n") { + for line := range strings.SplitSeq(chainConfig.Description(), "\n") { log.Info(line) } log.Info(strings.Repeat("-", 153)) diff --git a/internal/debug/api.go b/internal/debug/api.go index 1bac36e908..21592c2b27 100644 --- a/internal/debug/api.go +++ b/internal/debug/api.go @@ -217,7 +217,7 @@ func (*HandlerT) Stacks(filter *string) string { dump := buf.String() buf.Reset() - for _, trace := range strings.Split(dump, "\n\n") { + for trace := range strings.SplitSeq(dump, "\n\n") { if ok, _ := expr.Evaluate(map[string]string{"Value": trace}); ok { buf.WriteString(trace) buf.WriteString("\n\n") diff --git a/log/handler_glog.go b/log/handler_glog.go index 739f8c5b42..432d7d5085 100644 --- a/log/handler_glog.go +++ b/log/handler_glog.go @@ -86,7 +86,7 @@ func (h *GlogHandler) Verbosity(level slog.Level) { // sets V to 3 in all files of any packages whose import path contains "foo" func (h *GlogHandler) Vmodule(ruleset string) error { var filter []pattern - for _, rule := range strings.Split(ruleset, ",") { + for rule := range strings.SplitSeq(ruleset, ",") { // Empty strings such as from a trailing comma can be ignored if len(rule) == 0 { continue @@ -113,7 +113,7 @@ func (h *GlogHandler) Vmodule(ruleset string) error { } // Compile the rule pattern into a regular expression matcher := ".*" - for _, comp := range strings.Split(parts[0], "/") { + for comp := range strings.SplitSeq(parts[0], "/") { if comp == "*" { matcher += "(/.*)?" } else if comp != "" { diff --git a/node/api.go b/node/api.go index e5dda5ac4d..0d7c9914aa 100644 --- a/node/api.go +++ b/node/api.go @@ -185,19 +185,19 @@ func (api *adminAPI) StartHTTP(host *string, port *int, cors *string, apis *stri } if cors != nil { config.CorsAllowedOrigins = nil - for _, origin := range strings.Split(*cors, ",") { + for origin := range strings.SplitSeq(*cors, ",") { config.CorsAllowedOrigins = append(config.CorsAllowedOrigins, strings.TrimSpace(origin)) } } if vhosts != nil { config.Vhosts = nil - for _, vhost := range strings.Split(*vhosts, ",") { + for vhost := range strings.SplitSeq(*vhosts, ",") { config.Vhosts = append(config.Vhosts, strings.TrimSpace(vhost)) } } if apis != nil { config.Modules = nil - for _, m := range strings.Split(*apis, ",") { + for m := range strings.SplitSeq(*apis, ",") { config.Modules = append(config.Modules, strings.TrimSpace(m)) } } @@ -263,13 +263,13 @@ func (api *adminAPI) StartWS(host *string, port *int, allowedOrigins *string, ap } if apis != nil { config.Modules = nil - for _, m := range strings.Split(*apis, ",") { + for m := range strings.SplitSeq(*apis, ",") { config.Modules = append(config.Modules, strings.TrimSpace(m)) } } if allowedOrigins != nil { config.Origins = nil - for _, origin := range strings.Split(*allowedOrigins, ",") { + for origin := range strings.SplitSeq(*allowedOrigins, ",") { config.Origins = append(config.Origins, strings.TrimSpace(origin)) } } diff --git a/p2p/discover/v5wire/encoding_test.go b/p2p/discover/v5wire/encoding_test.go index 5774cb3d8c..4365f96ede 100644 --- a/p2p/discover/v5wire/encoding_test.go +++ b/p2p/discover/v5wire/encoding_test.go @@ -648,7 +648,7 @@ func writeTestVector(file, comment string, data []byte) { defer fd.Close() if len(comment) > 0 { - for _, line := range strings.Split(strings.TrimSpace(comment), "\n") { + for line := range strings.SplitSeq(strings.TrimSpace(comment), "\n") { fmt.Fprintf(fd, "# %s\n", line) } fmt.Fprintln(fd) diff --git a/p2p/dnsdisc/tree.go b/p2p/dnsdisc/tree.go index a8295ac9eb..0c7072d31d 100644 --- a/p2p/dnsdisc/tree.go +++ b/p2p/dnsdisc/tree.go @@ -367,7 +367,7 @@ func parseBranch(e string) (entry, error) { return &branchEntry{}, nil // empty entry is OK } hashes := make([]string, 0, strings.Count(e, ",")) - for _, c := range strings.Split(e, ",") { + for c := range strings.SplitSeq(e, ",") { if !isValidHash(c) { return nil, entryError{"branch", errInvalidChild} } diff --git a/rlp/internal/rlpstruct/rlpstruct.go b/rlp/internal/rlpstruct/rlpstruct.go index 2e3eeb6881..84c3e199a0 100644 --- a/rlp/internal/rlpstruct/rlpstruct.go +++ b/rlp/internal/rlpstruct/rlpstruct.go @@ -148,7 +148,7 @@ func parseTag(field Field, lastPublic int) (Tags, error) { name := field.Name tag := reflect.StructTag(field.Tag) var ts Tags - for _, t := range strings.Split(tag.Get("rlp"), ",") { + for t := range strings.SplitSeq(tag.Get("rlp"), ",") { switch t = strings.TrimSpace(t); t { case "": // empty tag is allowed for some reason diff --git a/rpc/server_test.go b/rpc/server_test.go index 8334d4e80d..fb4c4b2b88 100644 --- a/rpc/server_test.go +++ b/rpc/server_test.go @@ -92,7 +92,7 @@ func runTestScript(t *testing.T, file string) { defer clientConn.Close() go server.ServeCodec(NewCodec(serverConn), 0) readbuf := bufio.NewReader(clientConn) - for _, line := range strings.Split(string(content), "\n") { + for line := range strings.SplitSeq(string(content), "\n") { line = strings.TrimSpace(line) switch { case len(line) == 0 || strings.HasPrefix(line, "//"):