aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcui fliter <imcusg@gmail.com>2022-09-27 09:16:32 +0000
committerGopher Robot <gobot@golang.org>2022-09-27 16:36:36 +0000
commit48a58c5d2c24bcba9cd141b3c3d6344d52274bbd (patch)
treec6bc2411bb44ea04ef996c3605f685f9cf4e997d /src
parentb0f8e20d041cdb739db558c00edf14eb7e01c3da (diff)
downloadgo-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.go6
-rw-r--r--src/cmd/go/internal/load/pkg.go4
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)