diff options
| author | cui fliter <imcusg@gmail.com> | 2022-09-27 09:16:32 +0000 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2022-09-27 16:36:36 +0000 |
| commit | 48a58c5d2c24bcba9cd141b3c3d6344d52274bbd (patch) | |
| tree | c6bc2411bb44ea04ef996c3605f685f9cf4e997d /src | |
| parent | b0f8e20d041cdb739db558c00edf14eb7e01c3da (diff) | |
| download | go-48a58c5d2c24bcba9cd141b3c3d6344d52274bbd.tar.xz | |
cmd/go/internal: use strings.CutSuffix
Updates #42537
Change-Id: I2d4c5e911c8a2ddfe9a976896b05d3cd8be61f6b
GitHub-Last-Rev: a87597d8a7a84c4975fb5e13004feda9b6abce34
GitHub-Pull-Request: golang/go#55830
Reviewed-on: https://go-review.googlesource.com/c/go/+/433275
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Benny Siegert <bsiegert@gmail.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/go/internal/clean/clean.go | 6 | ||||
| -rw-r--r-- | src/cmd/go/internal/load/pkg.go | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/src/cmd/go/internal/clean/clean.go b/src/cmd/go/internal/clean/clean.go index 2417cc077e..368288f0fc 100644 --- a/src/cmd/go/internal/clean/clean.go +++ b/src/cmd/go/internal/clean/clean.go @@ -340,16 +340,14 @@ func clean(p *load.Package) { continue } - if strings.HasSuffix(name, "_test.go") { - base := name[:len(name)-len("_test.go")] + if base, found := strings.CutSuffix(name, "_test.go"); found { allRemove = append(allRemove, base+".test", base+".test.exe") } - if strings.HasSuffix(name, ".go") { + if base, found := strings.CutSuffix(name, ".go"); found { // TODO(adg,rsc): check that this .go file is actually // in "package main", and therefore capable of building // to an executable file. - base := name[:len(name)-len(".go")] allRemove = append(allRemove, base, base+".exe") } } diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go index a6e380b89f..cebec51d42 100644 --- a/src/cmd/go/internal/load/pkg.go +++ b/src/cmd/go/internal/load/pkg.go @@ -3115,10 +3115,10 @@ func PackagesAndErrorsOutsideModule(ctx context.Context, opts PackageOpts, args } patterns := make([]string, len(args)) for i, arg := range args { - if !strings.HasSuffix(arg, "@"+version) { + p, found := strings.CutSuffix(arg, "@"+version) + if !found { return nil, fmt.Errorf("%s: all arguments must refer to packages in the same module at the same version (@%s)", arg, version) } - p := arg[:len(arg)-len(version)-1] switch { case build.IsLocalImport(p): return nil, fmt.Errorf("%s: argument must be a package path, not a relative path", arg) |
