]> Cypherpunks repositories - gostls13.git/commitdiff
internal/trace/raw: use strings.Cut instead of strings.SplitN 2
author1911860538 <alxps1911@gmail.com>
Thu, 4 Sep 2025 12:30:51 +0000 (12:30 +0000)
committerGopher Robot <gobot@golang.org>
Wed, 10 Sep 2025 20:06:00 +0000 (13:06 -0700)
Replace strings.SplitN with strings.Cut for better performance and readability.

Change-Id: Ia245db62d8c2d1686887cb455f492db15606b57a
GitHub-Last-Rev: e00e164688f79d85d34fdf0d4ef126387ec6c0a0
GitHub-Pull-Request: golang/go#75257
Reviewed-on: https://go-review.googlesource.com/c/go/+/700915
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
src/internal/trace/raw/textreader.go

index adb111550d1ee7eb67e8ee135709a1696ce70bc2..f1544a7052c56f2a29427f6a1a633923472c7154 100644 (file)
@@ -165,14 +165,13 @@ func readArg(s string) (arg string, value uint64, rest string, err error) {
        if len(tok) == 0 {
                return "", 0, s, fmt.Errorf("no argument")
        }
-       parts := strings.SplitN(tok, "=", 2)
-       if len(parts) < 2 {
+       arg, val, found := strings.Cut(tok, "=")
+       if !found {
                return "", 0, s, fmt.Errorf("malformed argument: %q", tok)
        }
-       arg = parts[0]
-       value, err = strconv.ParseUint(parts[1], 10, 64)
+       value, err = strconv.ParseUint(val, 10, 64)
        if err != nil {
-               return arg, value, s, fmt.Errorf("failed to parse argument value %q for arg %q", parts[1], parts[0])
+               return arg, value, s, fmt.Errorf("failed to parse argument value %q for arg %q", val, arg)
        }
        return
 }
@@ -205,11 +204,11 @@ func readToken(s string) (token, rest string) {
 }
 
 func readData(line string) ([]byte, error) {
-       parts := strings.SplitN(line, "=", 2)
-       if len(parts) < 2 || strings.TrimSpace(parts[0]) != "data" {
+       dk, dv, found := strings.Cut(line, "=")
+       if !found || strings.TrimSpace(dk) != "data" {
                return nil, fmt.Errorf("malformed data: %q", line)
        }
-       data, err := strconv.Unquote(strings.TrimSpace(parts[1]))
+       data, err := strconv.Unquote(strings.TrimSpace(dv))
        if err != nil {
                return nil, fmt.Errorf("failed to parse data: %q: %v", line, err)
        }