Reflection 转到reflect.MakeFunc。如何将err=nil作为reflect.Value返回?

Reflection 转到reflect.MakeFunc。如何将err=nil作为reflect.Value返回?,reflection,go,generic-programming,Reflection,Go,Generic Programming,如何将err=nil作为reflect.Value返回?我需要编写一个交换函数来与reflect.MakeFunc()一起使用 这很棘手,你必须使用: 定义类型为零的错误也有效 var err error = nil outs[2] = reflect.ValueOf(&err).Elem() 只是出于好奇。 out[2] = reflect.Zero(reflect.TypeOf((*error)(nil)).Elem()) var err error = nil outs[2]

如何将err=nil作为reflect.Value返回?我需要编写一个交换函数来与reflect.MakeFunc()一起使用


这很棘手,你必须使用:


定义类型为零的错误也有效

var err error = nil
outs[2] = reflect.ValueOf(&err).Elem()
只是出于好奇。

out[2] = reflect.Zero(reflect.TypeOf((*error)(nil)).Elem())
var err error = nil
outs[2] = reflect.ValueOf(&err).Elem()