mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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:
parent
20995f6274
commit
f70d457a36
1 changed files with 27 additions and 27 deletions
|
|
@ -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)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue