19 Kasım 2009, PERŞEMBE
Nasıl verimli bir şekilde Gidip dizeleri bitiştirmek için?
String ilkel bir tür, salt okunur değil, her düzenleme yeni bir dize oluşturur.
Eğer birçok kez ortaya çıkan dize uzunluğunu bilmeden dizeyi bağlamak istiyorsanız, bunu yapmak için en iyi yolu nedir?
Naif şekilde olacaktır:
s := ""
for i := 0; i < 1000; i {
s = getShortStringFromSomewhere()
}
return s
ama bu çok verimli görünmüyor.
CEVAP
19 Kasım 2009, PERŞEMBE
En iyi yolu bytes paketi kullanmaktır. io.Writer uygulayan Buffer Bir tür vardır.
package main
import (
"bytes"
"fmt"
)
func main() {
var buffer bytes.Buffer
for i := 0; i < 1000; i {
buffer.WriteString("a")
}
fmt.Println(buffer.String())
}
Bu O(n) zaman yapar.
Bunu PaylaÅŸ:

Nasıl verimli bir şekilde anahtarları/...
Nasıl dal dizeleri bitiştirmek için...
Nasıl SQL Server dizeleri bitiştirmek ...
Nasıl GRUP kullanmak için MySQL dizele...
Nasıl bir PostgreSQL '' sorg...