Understanding the nil in Golang
Understanding the nil in Golang Reference GopherCon 2016: Francesc Campoy - Understanding nil 理解Go语言的nil Is it a bug? package main import ( "fmt" ) type doError struct{} func (e *doError) Error() string { return "" } func do() error { var err *doError return err } func main() { err := do() fmt.Println(err == nil) // What's the result? } What’s the nil? See a very, very, very familiar code.