cmp/export_unsafe.go
func retrieveUnexportedField(v reflect.Value, f reflect.StructField) reflect.Value {
	return reflect.NewAt(f.Type, unsafe.Pointer(v.UnsafeAddr()+f.Offset)).Elem()
}
func retrieveUnexportedField(v reflect.Value, f reflect.StructField) reflect.Value {
	return reflect.NewAt(f.Type, unsafe.Pointer(v.UnsafeAddr()+f.Offset)).Elem()
}
func retrieveUnexportedField ( v reflect . Value , f reflect . StructField ) reflect . Value { return reflect . NewAt ( f . Type , unsafe . Pointer ( v . UnsafeAddr ( ) + f . Offset ) ) . Elem ( ) }
// retrieveUnexportedField uses unsafe to forcibly retrieve any field from
// a struct such that the value has read-write permissions.
//
// The parent struct, v, must be addressable, while f must be a StructField
// describing the field to retrieve.
retrieveUnexportedField uses unsafe to forcibly retrieve any field from a struct such that the value has read - write permissions . The parent struct v must be addressable while f must be a StructField describing the field to retrieve .