nil在Go语言中只能被赋值给指针和接口。接口在底层的实现有两个部分:type和data。在源码中,显式地将nil赋值给接口时,接口的type和data都将为nil。此时,接口与nil值判断是相等的。但如果将一个带有类型的nil赋值给接口时,只有data为nil,而type为nil,此时,接口与nil判断将不相等。nil在Go语言中只能被赋值给指针和接口。接口在底层的实现有两个部分:type和dat
nil在Go语言中只能被赋值给指针和接口。接口在底层的实现有两个部分:type和data。在源码中,显式地将nil赋值给接口时,接口的type和data都将为nil。此时,接口与nil值判断是相等的。但如果将一个带有类型的nil赋值给接口时,只有data为nil,而type为nil,此时,接口与nil判断将不相等。nil在Go语言中只能被赋值给指针和接口。接口在底层的实现有两个部分:type和dat