使用以下内容创建
nilArg:
nilArg := reflect.Zero(reflect.TypeOf((*error)(nil)).Elem())
问题中的第一种方法不起作用,因为表达式
reflect.TypeOf((error)(nil))返回
nil。nil接口值的具体类型为nil。
诀窍是将非接口值传递到
reflect.TypeOf()并使用反射方法
reflect.Type从那里获取所需值。在这个答案,我通过
*error到
reflect.TypeOf(),并呼吁
Elem对结果得到
reflect.Type的
error。
游乐场的例子



