golang中一个interface类型潜在问题

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。

上一篇:zoj 4109 Welcome Party (优先队列)


下一篇:PaddleDetection-MaskRcnn相关结构以及优化器