Note. If you want to create an actual array (not a fragment), you will have reflect.ArrayOf
in Go 1.5 (August 2015).
See recall 4111 and transfer 918fdae Sebastien Binet ( sbinet
) , correcting the September 5996 release .
reflect
: implement ArrayOf
This change provides reflect.ArrayOf
to create a new array of reflect.Type
types at run time if the reflect.Type
element is reflect.Type
.
reflect
: implement ArrayOf
reflect
: tests for ArrayOf
runtime
: a document that typeAlg
used by reflection and should be kept in sync
This allows for a test, for example :
at1 := ArrayOf(5, TypeOf(string(""))) at := ArrayOf(6, at1) v1 := New(at).Elem() v2 := New(at).Elem() v1.Index(0).Index(0).Set(ValueOf("abc")) v2.Index(0).Index(0).Set(ValueOf("efg")) if i1, i2 := v1.Interface(), v2.Interface(); i1 == i2 { t.Errorf("constructed arrays %v and %v should not be equal", i1, i2) }
source share