使用 没有的案例很多,例如:
func (u *URL) Parse(ref string) (*URL, error) {
refurl, err := Parse(ref)
if err != nil {
return nil, err
}
return u.ResolveReference(refurl), nil
}
但我们不能这样使用它:
var str string //or var str int
str = nil
Golang 编译器将抛出一个 can't use nil as type string in assignment
错误。
看起来 nil
只能用于结构和接口的指针。如果是这样的话,那么 < strong > 是什么意思呢?
和 当我们用它来比较其他物体时,它们是如何比较的,换句话说,Golang 是如何确定一个物体为零的?
编辑: 例如,如果一个接口为 nil,那么它的类型和值必须同时为 nil。Golang 是怎么做到的?