all: prefer strings.LastIndexByte over strings.LastIndex

strings.LastIndexByte was introduced in go1.5 and it can be used
effectively wherever the second argument to strings.LastIndex is
exactly one byte long.

This avoids generating unnecessary string symbols and saves
a few calls to strings.LastIndex.

Change-Id: I7b5679d616197b055cffe6882a8675d24a98b574
Reviewed-on: https://go-review.googlesource.com/66372
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
这个提交包含在:
Marvin Stenger 2017-09-25 15:47:44 +02:00 提交者 Ian Lance Taylor
父节点 0648fb0f1c
当前提交 d547ccf7ac
共有 2 个文件被更改,包括 2 次插入2 次删除

查看文件

@ -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.LastIndex(host, "%"); i > 0 {
if i := strings.LastIndexByte(host, '%'); i > 0 {
host = host[:i]
}
if net.ParseIP(host) != nil {

2
tls.go
查看文件

@ -122,7 +122,7 @@ func DialWithDialer(dialer *net.Dialer, network, addr string, config *Config) (*
return nil, err
}
colonPos := strings.LastIndex(addr, ":")
colonPos := strings.LastIndexByte(addr, ':')
if colonPos == -1 {
colonPos = len(addr)
}