Explorar el Código

refactor: modernize Go with strings.SplitSeq and maps.Copy

Replace strings.Split loops with strings.SplitSeq iterators in the CSV
parsers (reality_scan and the scale-test helpers) and swap a manual map
copy for maps.Copy in the MTProto traffic collector. No behavior change;
these are the fixes the modernize analyzer reports.
MHSanaei hace 18 horas
padre
commit
a067f817ae

+ 2 - 3
internal/mtproto/manager.go

@@ -7,6 +7,7 @@ import (
 	"encoding/hex"
 	"encoding/json"
 	"fmt"
+	"maps"
 	"net"
 	"net/http"
 	"net/url"
@@ -413,9 +414,7 @@ func (m *Manager) CollectTraffic() ([]Traffic, []string) {
 			continue
 		}
 		lastCopy := make(map[string]clientCounters, len(cur.last))
-		for k, v := range cur.last {
-			lastCopy[k] = v
-		}
+		maps.Copy(lastCopy, cur.last)
 		snaps = append(snaps, snap{id: id, apiPort: cur.apiPort, apiToken: cur.apiToken, tag: cur.tag, last: lastCopy})
 	}
 	m.mu.Unlock()

+ 1 - 1
internal/sub/sub_scale_test.go

@@ -54,7 +54,7 @@ func scaleSubSizes(t *testing.T, def ...int) []int {
 		return def
 	}
 	var out []int
-	for _, part := range strings.Split(raw, ",") {
+	for part := range strings.SplitSeq(raw, ",") {
 		part = strings.TrimSpace(part)
 		if part == "" {
 			continue

+ 1 - 1
internal/web/job/check_client_ip_scale_test.go

@@ -51,7 +51,7 @@ func scaleJobSizes(t *testing.T, def ...int) []int {
 		return def
 	}
 	var out []int
-	for _, part := range strings.Split(raw, ",") {
+	for part := range strings.SplitSeq(raw, ",") {
 		part = strings.TrimSpace(part)
 		if part == "" {
 			continue

+ 1 - 1
internal/web/service/reality_scan.go

@@ -286,7 +286,7 @@ func (s *ServerService) ScanRealityTarget(target string) (*RealityScanResult, er
 
 func (s *ServerService) ScanRealityTargets(targetsCSV string) ([]*RealityScanResult, error) {
 	var tokens []string
-	for _, raw := range strings.Split(targetsCSV, ",") {
+	for raw := range strings.SplitSeq(targetsCSV, ",") {
 		if t := strings.TrimSpace(raw); t != "" {
 			tokens = append(tokens, t)
 		}

+ 1 - 1
internal/web/service/scale_helpers_test.go

@@ -60,7 +60,7 @@ func scaleSizes(t *testing.T, def ...int) []int {
 		return def
 	}
 	var out []int
-	for _, part := range strings.Split(raw, ",") {
+	for part := range strings.SplitSeq(raw, ",") {
 		part = strings.TrimSpace(part)
 		if part == "" {
 			continue