diff --git a/src/archive/tar/writer.go b/src/archive/tar/writer.go index 0afb5577eba..1e5b76f58f5 100644 --- a/src/archive/tar/writer.go +++ b/src/archive/tar/writer.go @@ -376,7 +376,7 @@ func splitUSTARPath(name string) (prefix, suffix string, ok bool) { length-- } - i := strings.LastIndexByte(name[:length], '/') + i := strings.LastIndex(name[:length], "/") nlen := len(name) - i - 1 // nlen is length of suffix plen := i // plen is length of prefix if i <= 0 || nlen > nameSize || nlen == 0 || plen > prefixSize { diff --git a/src/cmd/doc/main.go b/src/cmd/doc/main.go index e0a71121933..de275403a21 100644 --- a/src/cmd/doc/main.go +++ b/src/cmd/doc/main.go @@ -205,7 +205,7 @@ func parseArgs(args []string) (pkg *build.Package, path, symbol string, more boo } // If it has a slash, it must be a package path but there is a symbol. // It's the last package path we care about. - slash := strings.LastIndexByte(arg, '/') + slash := strings.LastIndex(arg, "/") // There may be periods in the package path before or after the slash // and between a symbol and method. // Split the string at various periods to see what we find. diff --git a/src/cmd/fix/fix.go b/src/cmd/fix/fix.go index ebed82fbeb6..03c828a5816 100644 --- a/src/cmd/fix/fix.go +++ b/src/cmd/fix/fix.go @@ -719,7 +719,7 @@ func usesImport(f *ast.File, path string) (used bool) { case "": // If the package name is not explicitly specified, // make an educated guess. This is not guaranteed to be correct. - lastSlash := strings.LastIndexByte(path, '/') + lastSlash := strings.LastIndex(path, "/") if lastSlash == -1 { name = path } else { diff --git a/src/cmd/vet/print.go b/src/cmd/vet/print.go index 453a072565f..21bb0d09972 100644 --- a/src/cmd/vet/print.go +++ b/src/cmd/vet/print.go @@ -38,7 +38,7 @@ func initPrintFlags() { // Backwards compatibility: skip optional first argument // index after the colon. - if colon := strings.LastIndexByte(name, ':'); colon > 0 { + if colon := strings.LastIndex(name, ":"); colon > 0 { name = name[:colon] } diff --git a/src/crypto/tls/handshake_client.go b/src/crypto/tls/handshake_client.go index 38d01bf0681..f8db66279f7 100644 --- a/src/crypto/tls/handshake_client.go +++ b/src/crypto/tls/handshake_client.go @@ -848,7 +848,7 @@ func hostnameInSNI(name string) string { if len(host) > 0 && host[0] == '[' && host[len(host)-1] == ']' { host = host[1 : len(host)-1] } - if i := strings.LastIndexByte(host, '%'); i > 0 { + if i := strings.LastIndex(host, "%"); i > 0 { host = host[:i] } if net.ParseIP(host) != nil { diff --git a/src/crypto/tls/tls.go b/src/crypto/tls/tls.go index 1c91daeb1ce..615d1e5576f 100644 --- a/src/crypto/tls/tls.go +++ b/src/crypto/tls/tls.go @@ -122,7 +122,7 @@ func DialWithDialer(dialer *net.Dialer, network, addr string, config *Config) (* return nil, err } - colonPos := strings.LastIndexByte(addr, ':') + colonPos := strings.LastIndex(addr, ":") if colonPos == -1 { colonPos = len(addr) } diff --git a/src/debug/gosym/symtab.go b/src/debug/gosym/symtab.go index fd8703b36bc..f5f99630950 100644 --- a/src/debug/gosym/symtab.go +++ b/src/debug/gosym/symtab.go @@ -40,7 +40,7 @@ func (s *Sym) Static() bool { return s.Type >= 'a' } // PackageName returns the package part of the symbol name, // or the empty string if there is none. func (s *Sym) PackageName() string { - pathend := strings.LastIndexByte(s.Name, '/') + pathend := strings.LastIndex(s.Name, "/") if pathend < 0 { pathend = 0 } @@ -54,12 +54,12 @@ func (s *Sym) PackageName() string { // ReceiverName returns the receiver type name of this symbol, // or the empty string if there is none. func (s *Sym) ReceiverName() string { - pathend := strings.LastIndexByte(s.Name, '/') + pathend := strings.LastIndex(s.Name, "/") if pathend < 0 { pathend = 0 } l := strings.Index(s.Name[pathend:], ".") - r := strings.LastIndexByte(s.Name[pathend:], '.') + r := strings.LastIndex(s.Name[pathend:], ".") if l == -1 || r == -1 || l == r { return "" } @@ -68,7 +68,7 @@ func (s *Sym) ReceiverName() string { // BaseName returns the symbol name without the package or receiver name. func (s *Sym) BaseName() string { - if i := strings.LastIndexByte(s.Name, '.'); i != -1 { + if i := strings.LastIndex(s.Name, "."); i != -1 { return s.Name[i+1:] } return s.Name diff --git a/src/encoding/xml/marshal.go b/src/encoding/xml/marshal.go index 773f0f2862e..42133a75abc 100644 --- a/src/encoding/xml/marshal.go +++ b/src/encoding/xml/marshal.go @@ -333,7 +333,7 @@ func (p *printer) createAttrPrefix(url string) string { // Pick a name. We try to use the final element of the path // but fall back to _. prefix := strings.TrimRight(url, "/") - if i := strings.LastIndexByte(prefix, '/'); i >= 0 { + if i := strings.LastIndex(prefix, "/"); i >= 0 { prefix = prefix[i+1:] } if prefix == "" || !isName([]byte(prefix)) || strings.Contains(prefix, ":") { diff --git a/src/go/build/build.go b/src/go/build/build.go index 8e92b2f5d12..d8163d01723 100644 --- a/src/go/build/build.go +++ b/src/go/build/build.go @@ -465,7 +465,7 @@ func (e *MultiplePackageError) Error() string { } func nameExt(name string) string { - i := strings.LastIndexByte(name, '.') + i := strings.LastIndex(name, ".") if i < 0 { return "" } @@ -610,7 +610,7 @@ func (ctxt *Context) Import(path string, srcDir string, mode ImportMode) (*Packa } tried.vendor = append(tried.vendor, dir) } - i := strings.LastIndexByte(sub, '/') + i := strings.LastIndex(sub, "/") if i < 0 { break } @@ -1064,7 +1064,7 @@ func (ctxt *Context) matchFile(dir, name string, allTags map[string]bool, binary return } - i := strings.LastIndexByte(name, '.') + i := strings.LastIndex(name, ".") if i < 0 { i = len(name) } diff --git a/src/go/doc/testdata/testing.go b/src/go/doc/testdata/testing.go index 066e4a43db7..52810f7a564 100644 --- a/src/go/doc/testdata/testing.go +++ b/src/go/doc/testdata/testing.go @@ -93,7 +93,7 @@ func decorate(s string, addFileLine bool) string { _, file, line, ok := runtime.Caller(3) // decorate + log + public function. if ok { // Truncate file name at last file name separator. - if index := strings.LastIndexByte(file, '/'); index >= 0 { + if index := strings.LastIndex(file, "/"); index >= 0 { file = file[index+1:] } else if index = strings.LastIndex(file, "\\"); index >= 0 { file = file[index+1:] diff --git a/src/go/printer/printer.go b/src/go/printer/printer.go index 2b8dc19fba9..dbb4bbd90cf 100644 --- a/src/go/printer/printer.go +++ b/src/go/printer/printer.go @@ -624,7 +624,7 @@ func (p *printer) writeComment(comment *ast.Comment) { if strings.HasPrefix(text, linePrefix) && (!pos.IsValid() || pos.Column == 1) { // possibly a line directive ldir := strings.TrimSpace(text[len(linePrefix):]) - if i := strings.LastIndexByte(ldir, ':'); i >= 0 { + if i := strings.LastIndex(ldir, ":"); i >= 0 { if line, err := strconv.Atoi(ldir[i+1:]); err == nil && line > 0 { // The line directive we are about to print changed // the Filename and Line number used for subsequent diff --git a/src/go/types/resolver.go b/src/go/types/resolver.go index 253f8a0334e..ba75a0dc239 100644 --- a/src/go/types/resolver.go +++ b/src/go/types/resolver.go @@ -172,7 +172,7 @@ func (check *Checker) importPackage(pos token.Pos, path, dir string) *Package { if i := len(name); i > 0 && name[i-1] == '/' { name = name[:i-1] } - if i := strings.LastIndexByte(name, '/'); i >= 0 { + if i := strings.LastIndex(name, "/"); i >= 0 { name = name[i+1:] } imp = NewPackage(path, name) @@ -516,7 +516,7 @@ func (check *Checker) unusedImports() { // pkgName returns the package name (last element) of an import path. func pkgName(path string) string { - if i := strings.LastIndexByte(path, '/'); i >= 0 { + if i := strings.LastIndex(path, "/"); i >= 0 { path = path[i+1:] } return path diff --git a/src/internal/trace/parser.go b/src/internal/trace/parser.go index 1033d5222b6..a774bf14c96 100644 --- a/src/internal/trace/parser.go +++ b/src/internal/trace/parser.go @@ -812,7 +812,7 @@ func symbolize(events []*Event, bin string) error { f := &Frame{PC: pc} f.Fn = fn[:len(fn)-1] f.File = file[:len(file)-1] - if colon := strings.LastIndexByte(f.File, ':'); colon != -1 { + if colon := strings.LastIndex(f.File, ":"); colon != -1 { ln, err := strconv.Atoi(f.File[colon+1:]) if err == nil { f.File = f.File[:colon] diff --git a/src/net/http/cookiejar/jar.go b/src/net/http/cookiejar/jar.go index f147eceb189..ef8c35bf0a1 100644 --- a/src/net/http/cookiejar/jar.go +++ b/src/net/http/cookiejar/jar.go @@ -330,7 +330,7 @@ func jarKey(host string, psl PublicSuffixList) string { var i int if psl == nil { - i = strings.LastIndexByte(host, '.') + i = strings.LastIndex(host, ".") if i <= 0 { return host } @@ -349,7 +349,7 @@ func jarKey(host string, psl PublicSuffixList) string { // here on, so it is okay if psl.PublicSuffix("www.buggy.psl") // returns "com" as the jar key is generated from host. } - prevDot := strings.LastIndexByte(host[:i-1], '.') + prevDot := strings.LastIndex(host[:i-1], ".") return host[prevDot+1:] } @@ -365,7 +365,7 @@ func defaultPath(path string) string { return "/" // Path is empty or malformed. } - i := strings.LastIndexByte(path, '/') // Path starts with "/", so i != -1. + i := strings.LastIndex(path, "/") // Path starts with "/", so i != -1. if i == 0 { return "/" // Path has the form "/abc". } diff --git a/src/net/http/cookiejar/jar_test.go b/src/net/http/cookiejar/jar_test.go index ed4baae4c61..47fb1abdaaf 100644 --- a/src/net/http/cookiejar/jar_test.go +++ b/src/net/http/cookiejar/jar_test.go @@ -37,7 +37,7 @@ func (testPSL) PublicSuffix(d string) string { if d == "www2.buggy.psl" { return "com" } - return d[strings.LastIndexByte(d, '.')+1:] + return d[strings.LastIndex(d, ".")+1:] } // newTestJar creates an empty Jar with testPSL as the public suffix list. diff --git a/src/net/http/http.go b/src/net/http/http.go index 7d5b74092e6..b95ca89f409 100644 --- a/src/net/http/http.go +++ b/src/net/http/http.go @@ -35,7 +35,7 @@ func (k *contextKey) String() string { return "net/http context value " + k.name // Given a string of the form "host", "host:port", or "[ipv6::address]:port", // return true if the string includes a port. -func hasPort(s string) bool { return strings.LastIndexByte(s, ':') > strings.LastIndexByte(s, ']') } +func hasPort(s string) bool { return strings.LastIndex(s, ":") > strings.LastIndex(s, "]") } // removeEmptyPort strips the empty port in ":port" to "" // as mandated by RFC 3986 Section 6.2.3. diff --git a/src/net/http/request.go b/src/net/http/request.go index 801d00ef2f0..870af85e04a 100644 --- a/src/net/http/request.go +++ b/src/net/http/request.go @@ -688,11 +688,11 @@ func removeZone(host string) string { if !strings.HasPrefix(host, "[") { return host } - i := strings.LastIndexByte(host, ']') + i := strings.LastIndex(host, "]") if i < 0 { return host } - j := strings.LastIndexByte(host[:i], '%') + j := strings.LastIndex(host[:i], "%") if j < 0 { return host } diff --git a/src/net/http/transport.go b/src/net/http/transport.go index 034d016cb36..5f2ace7b4b4 100644 --- a/src/net/http/transport.go +++ b/src/net/http/transport.go @@ -1236,7 +1236,7 @@ func useProxy(addr string) bool { addr = strings.ToLower(strings.TrimSpace(addr)) if hasPort(addr) { - addr = addr[:strings.LastIndexByte(addr, ':')] + addr = addr[:strings.LastIndex(addr, ":")] } for _, p := range strings.Split(noProxy, ",") { @@ -1245,7 +1245,7 @@ func useProxy(addr string) bool { continue } if hasPort(p) { - p = p[:strings.LastIndexByte(p, ':')] + p = p[:strings.LastIndex(p, ":")] } if addr == p { return false @@ -1317,7 +1317,7 @@ func (cm *connectMethod) addr() string { func (cm *connectMethod) tlsHost() string { h := cm.targetAddr if hasPort(h) { - h = h[:strings.LastIndexByte(h, ':')] + h = h[:strings.LastIndex(h, ":")] } return h } diff --git a/src/net/mail/message.go b/src/net/mail/message.go index 903dbd0c401..9539c226974 100644 --- a/src/net/mail/message.go +++ b/src/net/mail/message.go @@ -177,7 +177,7 @@ func (p *AddressParser) ParseList(list string) ([]*Address, error) { // the name will be rendered according to RFC 2047. func (a *Address) String() string { // Format address local@domain - at := strings.LastIndexByte(a.Address, '@') + at := strings.LastIndex(a.Address, "@") var local, domain string if at < 0 { // This is a malformed address ("@" is required in addr-spec); diff --git a/src/net/rpc/server.go b/src/net/rpc/server.go index 0499f4abe20..29aae7ee7ff 100644 --- a/src/net/rpc/server.go +++ b/src/net/rpc/server.go @@ -592,7 +592,7 @@ func (server *Server) readRequestHeader(codec ServerCodec) (svc *service, mtype // we can still recover and move on to the next request. keepReading = true - dot := strings.LastIndexByte(req.ServiceMethod, '.') + dot := strings.LastIndex(req.ServiceMethod, ".") if dot < 0 { err = errors.New("rpc: service/method request ill-formed: " + req.ServiceMethod) return diff --git a/src/net/url/url.go b/src/net/url/url.go index 53122c79cd9..c9353ab080d 100644 --- a/src/net/url/url.go +++ b/src/net/url/url.go @@ -532,7 +532,7 @@ func parse(rawurl string, viaRequest bool) (*URL, error) { } func parseAuthority(authority string) (user *Userinfo, host string, err error) { - i := strings.LastIndexByte(authority, '@') + i := strings.LastIndex(authority, "@") if i < 0 { host, err = parseHost(authority) } else { @@ -569,7 +569,7 @@ func parseHost(host string) (string, error) { if strings.HasPrefix(host, "[") { // Parse an IP-Literal in RFC 3986 and RFC 6874. // E.g., "[fe80::1]", "[fe80::1%25en0]", "[fe80::1]:80". - i := strings.LastIndexByte(host, ']') + i := strings.LastIndex(host, "]") if i < 0 { return "", errors.New("missing ']' in host") } @@ -885,7 +885,7 @@ func resolvePath(base, ref string) string { if ref == "" { full = base } else if ref[0] != '/' { - i := strings.LastIndexByte(base, '/') + i := strings.LastIndex(base, "/") full = base[:i+1] + ref } else { full = ref diff --git a/src/os/exec/lp_windows.go b/src/os/exec/lp_windows.go index 4e1ffb00146..793d4d98b3a 100644 --- a/src/os/exec/lp_windows.go +++ b/src/os/exec/lp_windows.go @@ -26,7 +26,7 @@ func chkStat(file string) error { } func hasExt(file string) bool { - i := strings.LastIndexByte(file, '.') + i := strings.LastIndex(file, ".") if i < 0 { return false } diff --git a/src/path/path.go b/src/path/path.go index 074cfff67ae..5c905110a1b 100644 --- a/src/path/path.go +++ b/src/path/path.go @@ -145,7 +145,7 @@ func Clean(path string) string { // file set to path. // The returned values have the property that path = dir+file. func Split(path string) (dir, file string) { - i := strings.LastIndexByte(path, '/') + i := strings.LastIndex(path, "/") return path[:i+1], path[i+1:] } @@ -187,7 +187,7 @@ func Base(path string) string { path = path[0 : len(path)-1] } // Find the last element - if i := strings.LastIndexByte(path, '/'); i >= 0 { + if i := strings.LastIndex(path, "/"); i >= 0 { path = path[i+1:] } // If empty now, it had only slashes. diff --git a/src/testing/testing.go b/src/testing/testing.go index d5c045f2538..a170cd0fd9a 100644 --- a/src/testing/testing.go +++ b/src/testing/testing.go @@ -360,7 +360,7 @@ func (c *common) decorate(s string) string { _, file, line, ok := runtime.Caller(skip) if ok { // Truncate file name at last file name separator. - if index := strings.LastIndexByte(file, '/'); index >= 0 { + if index := strings.LastIndex(file, "/"); index >= 0 { file = file[index+1:] } else if index = strings.LastIndex(file, "\\"); index >= 0 { file = file[index+1:] diff --git a/src/time/mono_test.go b/src/time/mono_test.go index cc24db07f1b..8778ab78a03 100644 --- a/src/time/mono_test.go +++ b/src/time/mono_test.go @@ -253,7 +253,7 @@ func TestMonotonicString(t *testing.T) { t1 := Now() SetMono(&t1, tt.mono) s := t1.String() - got := s[strings.LastIndexByte(s, ' ')+1:] + got := s[strings.LastIndex(s, " ")+1:] if got != tt.want { t.Errorf("with mono=%d: got %q; want %q", tt.mono, got, tt.want) }