strings: unindent Fields

CL 56470 unindented bytes.Fields, but not strings.Fields. Do so now to
make it easier to diff the two functions for potential differences.

Change-Id: Ifef81f50cee64e8277e91efa5ec5521d8d21d3bd
Reviewed-on: https://go-review.googlesource.com/c/go/+/170951
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Tobias Klauser 2019-04-08 09:54:33 +02:00 committed by Tobias Klauser
parent 20995f6274
commit f70d457a36

View file

@ -341,38 +341,38 @@ func Fields(s string) []string {
wasSpace = isSpace wasSpace = isSpace
} }
if setBits < utf8.RuneSelf { // ASCII fast path if setBits >= utf8.RuneSelf {
a := make([]string, n) // Some runes in the input string are not ASCII.
na := 0 return FieldsFunc(s, unicode.IsSpace)
fieldStart := 0 }
i := 0 // ASCII fast path
// Skip spaces in the front of the input. a := make([]string, n)
na := 0
fieldStart := 0
i := 0
// Skip spaces in the front of the input.
for i < len(s) && asciiSpace[s[i]] != 0 {
i++
}
fieldStart = i
for i < len(s) {
if asciiSpace[s[i]] == 0 {
i++
continue
}
a[na] = s[fieldStart:i]
na++
i++
// Skip spaces in between fields.
for i < len(s) && asciiSpace[s[i]] != 0 { for i < len(s) && asciiSpace[s[i]] != 0 {
i++ i++
} }
fieldStart = i fieldStart = i
for i < len(s) {
if asciiSpace[s[i]] == 0 {
i++
continue
}
a[na] = s[fieldStart:i]
na++
i++
// Skip spaces in between fields.
for i < len(s) && asciiSpace[s[i]] != 0 {
i++
}
fieldStart = i
}
if fieldStart < len(s) { // Last field might end at EOF.
a[na] = s[fieldStart:]
}
return a
} }
if fieldStart < len(s) { // Last field might end at EOF.
// Some runes in the input string are not ASCII. a[na] = s[fieldStart:]
return FieldsFunc(s, unicode.IsSpace) }
return a
} }
// FieldsFunc splits the string s at each run of Unicode code points c satisfying f(c) // FieldsFunc splits the string s at each run of Unicode code points c satisfying f(c)