// reflect/value.go
func ValueOf(i interface{}) Value {
if i == nil {
return Value{}
}
// TODO: Maybe allow contents of a Value to live on the stack.
// For now we make the contents always escape to the heap. It
// makes life easier in a few places (see chanrecv/mapassign
// comment below).
escapes(i)
The code above is the source code of Value.go
in golang, and the comment above the escapes(i)
shows that each time we call the ValueOf
function, the i
will escape to the heap, that's why? Namely, how to explain the It makes life easier in a few places?
Aucun commentaire:
Enregistrer un commentaire