GO初学者问一个循环问题

meiruhua · · 1944 次点击
``` st := time.Now().Unix() var buffer bytes.Buffer for i := 0; i < 100000; i++ { buffer.WriteString("hello" + strconv.Itoa(i)) } fmt.Println(time.Now().Unix() - st) ``` 用bytes.buffer string拼接本身是重新分配了对象,一个字符串是一个不可改变的字节序列 https://studygolang.com/articles/21629 原因看这个
#2
更多评论
st := time.Now().Unix() var buffer bytes.Buffer for i := 0; i < 100000; i++ { buffer.WriteString("hello" + strconv.Itoa(i)) } fmt.Println(time.Now().Unix() - st) 用bytes.buffer string拼接本身是重新分配了对象,一个字符串是一个不可改变的字节序列 https://studygolang.com/articles/21629 原因看这个
#1
变成了 0.011 秒左右了,小细节真多。
#3