]> Cypherpunks repositories - gostls13.git/commitdiff
strings: adding micro-optimization for TrimSpace
authorIllirgway <Illirgway@users.noreply.github.com>
Mon, 21 Jun 2021 20:52:31 +0000 (20:52 +0000)
committerGopher Robot <gobot@golang.org>
Fri, 29 Apr 2022 02:01:27 +0000 (02:01 +0000)
replace for string's end trimming TrimFunc -> TrimRightFunc

strings.TrimSpace string's end trimming should use more specific TrimRightFunc instead of common TrimFunc (because start has already trimmed before)

Change-Id: I827f1a25c141e61edfe1f8b11f6e8cd685f8b384
GitHub-Last-Rev: 040607a8314222f5958b96eb1bc20d840d1bcaac
GitHub-Pull-Request: golang/go#46862
Reviewed-on: https://go-review.googlesource.com/c/go/+/329731
Auto-Submit: Russ Cox <rsc@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
src/strings/strings.go

index a563f37cf59c1c2e5b6a1be27bc5dc3cace41ae4..1dc4238522ad9def5a7da56c5b3c151381479e7c 100644 (file)
@@ -962,7 +962,8 @@ func TrimSpace(s string) string {
        for ; stop > start; stop-- {
                c := s[stop-1]
                if c >= utf8.RuneSelf {
-                       return TrimFunc(s[start:stop], unicode.IsSpace)
+                       // start has been already trimmed above, should trim end only
+                       return TrimRightFunc(s[start:stop], unicode.IsSpace)
                }
                if asciiSpace[c] == 0 {
                        break