空(Nil)
如果一个引用什么都不指向,那么它的值为 nil 。 nil 是所有 ref 和 ptr 类型的默认值。 nil 值也可以像任何其他字面值一样使用。例如,它可以用在像 my Ref = nil 这样的赋值中。
解引用 nil 是一个不可恢复的运行时错误(而不是 panic)。
成功的解引用操作 p[] 意味着 p 不是 nil。可以利用它来优化代码,例如:
p[].field = 3
if p != nil:
# 如果 p 是 nil , 那么 `p[]` 会导致错误
# 所以这里的 `p` 永远不会是 nil
action()
那么上述代码可以变成:
p[].field = 3
action()
注意: 这与 C 用于解引用 NULL 指针的 “未定义行为” 不具有可比性。
当前内容版权归 vectorworkshopbaoerjie 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 vectorworkshopbaoerjie .