Println altera a capacidade de uma fatia
Considere o seguinte código
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
}
https://play.golang.org/p/zv8KQekaxH8
Chamar Println simples com uma variável de fatia altera sua capacidade. Eu suspeito que chamar qualquer função com parâmetros variadicos de...interface{}
produz o mesmo efeito. Existe alguma explicação sensata para esse comportamento?