package main
import (
"errors"
"fmt"
"log"
)
func main() {
var e interface{}
e = func() error {
return errors.New("err")
}()
if e != nil {
fmt.Printf("%T\n", e)
log.Println(e)
}
fmt.Println(e)
}
输出内容:
*errors.errorString
2019/01/05 18:54:43 err
err
这边很容易将e的类型误认为是error,但是实际运行中却被转换成*errors.errorString。
有疑问加站长微信联系(非本文作者)