mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
bytes, strings: simplify Join
R=gri, rsc CC=golang-dev https://golang.org/cl/4300044
This commit is contained in:
parent
ac74f14b6b
commit
47f4ae1a78
2 changed files with 8 additions and 28 deletions
|
|
@ -293,20 +293,10 @@ func Join(a [][]byte, sep []byte) []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
b := make([]byte, n)
|
b := make([]byte, n)
|
||||||
bp := 0
|
bp := copy(b, a[0])
|
||||||
for i := 0; i < len(a); i++ {
|
for _, s := range a[1:] {
|
||||||
s := a[i]
|
bp += copy(b[bp:], sep)
|
||||||
for j := 0; j < len(s); j++ {
|
bp += copy(b[bp:], s)
|
||||||
b[bp] = s[j]
|
|
||||||
bp++
|
|
||||||
}
|
|
||||||
if i+1 < len(a) {
|
|
||||||
s = sep
|
|
||||||
for j := 0; j < len(s); j++ {
|
|
||||||
b[bp] = s[j]
|
|
||||||
bp++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -275,20 +275,10 @@ func Join(a []string, sep string) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
b := make([]byte, n)
|
b := make([]byte, n)
|
||||||
bp := 0
|
bp := copy(b, a[0])
|
||||||
for i := 0; i < len(a); i++ {
|
for _, s := range a[1:] {
|
||||||
s := a[i]
|
bp += copy(b[bp:], sep)
|
||||||
for j := 0; j < len(s); j++ {
|
bp += copy(b[bp:], s)
|
||||||
b[bp] = s[j]
|
|
||||||
bp++
|
|
||||||
}
|
|
||||||
if i+1 < len(a) {
|
|
||||||
s = sep
|
|
||||||
for j := 0; j < len(s); j++ {
|
|
||||||
b[bp] = s[j]
|
|
||||||
bp++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return string(b)
|
return string(b)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue