Go nil != nil

2020-04-04  本文已影响0人  七秒钟回忆待续
package main

import "fmt"

type apiError struct {
    err string
}

func (e *apiError) Error() string {
    return e.err
}

func getApiErr() *apiError {
    return nil
}

func getStdErr() error {
    return nil
}

func main() {
    e1 := getApiErr()
    fmt.Println(e1) //<nil>

    e2 := getStdErr()
    fmt.Println(e2) //<nil>

    fmt.Println(e1 == e2) //false

    fmt.Printf("api error %#v\nstd error %#v", e1, e2)
    //api error (*main.apiError)(nil)
    //std error <nil>
}

上一篇下一篇

猜你喜欢

热点阅读