if err != nil
正在将err变量与nil进行比较error
,但实际上它是nil*Error
将代码更改为
err:=foo()
var nilerror *Error = nil
if err != nilerror {
fmt.Printf("Found error %v\n",err)
return
}
fmt.Println("No Errors")
产生预测结果。
Golang返回nil不返回nil
if err != nil
正在将err变量与nil进行比较error
,但实际上它是nil*Error
将代码更改为
err:=foo()
var nilerror *Error = nil
if err != nilerror {
fmt.Printf("Found error %v\n",err)
return
}
fmt.Println("No Errors")
产生预测结果。