GO初学者问一个循环问题

meiruhua · · 1969 次点击
不知道你是怎么测的 直接复制你的代码秒改成纳秒换算就用时4毫秒
#7
更多评论
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
``` 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