首页 > 试题广场 >

考虑以下关于 Go 接口和 nil 的代码,程序会输出什么?

[单选题]
考虑以下关于 Go 接口和 nil 的代码,程序会输出什么?
type CustomError struct{}
func (e *CustomError) Error() string {
    return "custom error"
}
func findError() error {
    var e *CustomError = nil
    return e
}
func main() {
    err := findError()
    if err != nil {
        fmt.Println("error occurred")
    } else {
        fmt.Println("no error")
    }
}
  • error occurred
  • no error
  • 程序会发生panic
  • 编译失败
接口类型不为nil,值为nil,但是判断接口为nil需要同时类型和值都为nil
发表于 2025-10-13 15:37:01 回复(0)