golang 字符串切片是否buf = buf[n:]会导致底层字节数组中的内存泄漏?


如果是这样,是否可以获取有关底层字节数组的任何信息(如容量或基本内存地址)以验证泄漏?


请参阅下面的示例代码:


var buf string


func push(s string) {

    buf += s

    if len(buf) > 3 {

        buf = buf[len(buf)-3:] // can this line leak memory in underlying byte array?

    }

    fmt.Printf("buf=[%v]\n", buf)

}