学校排行榜

(0)

投一票

Go语言接口类型:nil的error值不等于nil 官网

在Go语言中,nil的error值和nil不同。error是接口类型,包含具体类型和值两部分。当error为nil时,具体类型和值都为nil。若具体类型不为nil,即使值为nil,error也不是nil。 package mainimport "fmt"func doSomething() error { var err *MyError = nil return err}type MyError struct {}func main() { err := doSomething() if err != nil { fmt.Println("err is not nil") // 运行结果: err is not nil }} 判断error是否为nil时,要考虑具体类型和值。
专业
评论
新闻
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。