@peterGo @Chris
thanks! I forgot the parameters of fmt.Print are of type interface{}.On Wednesday, August 31, 2016 at 11:23:51 PM UTC+8, peterGo wrote: > > TL, > > Radically different parameters: > > func Intn(n int <https://golang.org/pkg/builtin/#int>) int > <https://golang.org/pkg/builtin/#int> > > func Println(a ...interface{}) (n int <https://golang.org/pkg/builtin/#int>, > err error <https://golang.org/pkg/builtin/#error>) > > Peter > > On Wednesday, August 31, 2016 at 11:06:24 AM UTC-4, T L wrote: >> >> >> Why does the parameter passed to fmt.Print escape to heap? >> >> >> // 11.go >> package main >> import "fmt" >> import "math/rand" >> >> func f1(v int) { >> fmt.Print(v) // v escapes to heap >> } >> >> var a int >> func f2(v int) { >> a = rand.Intn(v) // v doesn't escape >> } >> >> func main() { >> } >> >> /* >> > go build -gcflags=-m 11.go >> # command-line-arguments >> ./11.go:15: can inline main >> ./11.go:7: v escapes to heap >> ./11.go:7: f1 ... argument does not escape >> */ >> >> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
