mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
internal/trace/raw: use strings.Cut instead of strings.SplitN 2
Replace strings.SplitN with strings.Cut for better performance and readability.
Change-Id: Ia245db62d8c2d1686887cb455f492db15606b57a
GitHub-Last-Rev: e00e164688
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>
This commit is contained in:
parent
80a2aae922
commit
5cf8ca42e3
1 changed files with 7 additions and 8 deletions
|
|
@ -165,14 +165,13 @@ func readArg(s string) (arg string, value uint64, rest string, err error) {
|
||||||
if len(tok) == 0 {
|
if len(tok) == 0 {
|
||||||
return "", 0, s, fmt.Errorf("no argument")
|
return "", 0, s, fmt.Errorf("no argument")
|
||||||
}
|
}
|
||||||
parts := strings.SplitN(tok, "=", 2)
|
arg, val, found := strings.Cut(tok, "=")
|
||||||
if len(parts) < 2 {
|
if !found {
|
||||||
return "", 0, s, fmt.Errorf("malformed argument: %q", tok)
|
return "", 0, s, fmt.Errorf("malformed argument: %q", tok)
|
||||||
}
|
}
|
||||||
arg = parts[0]
|
value, err = strconv.ParseUint(val, 10, 64)
|
||||||
value, err = strconv.ParseUint(parts[1], 10, 64)
|
|
||||||
if err != nil {
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -205,11 +204,11 @@ func readToken(s string) (token, rest string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func readData(line string) ([]byte, error) {
|
func readData(line string) ([]byte, error) {
|
||||||
parts := strings.SplitN(line, "=", 2)
|
dk, dv, found := strings.Cut(line, "=")
|
||||||
if len(parts) < 2 || strings.TrimSpace(parts[0]) != "data" {
|
if !found || strings.TrimSpace(dk) != "data" {
|
||||||
return nil, fmt.Errorf("malformed data: %q", line)
|
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 {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to parse data: %q: %v", line, err)
|
return nil, fmt.Errorf("failed to parse data: %q: %v", line, err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue