请考虑以下代码
package main
import (
"fmt"
)
func main() {
x := []byte("a")
fmt.Println(x)
fmt.Println(cap(x) == cap([]byte("a"))) // prints false
y := []byte("a")
fmt.Println(cap(y) == cap([]byte("a"))) // prints true
}
Run Code Online (Sandbox Code Playgroud)
https://play.golang.org/p/zv8KQekaxH8
使用切片变量调用简单的Println会更改其容量.我怀疑调用任何具有可变参数的函数...interface{}会产生相同的效果.对这种行为有什么明智的解释吗?
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |