Elw*_*nar 8

nilNULL

您可以有效地使用它代替任何指针或接口(接口在某种程度上是指针)。

您可以将其用作错误,因为错误类型是interface。

您不能将其用作字符串,因为在Go中,字符串是一个值。

nil
var n = nil
n
var n *Foo = nil
nilnil
  • 错误:`nil` 没有类型。它没有打字。你不能这样做:`var n = nil` 不是因为 nil 有类型,而是因为编译器无法推导出 `n` 的类型,它不能延迟类型,因为,`nil ` 没有类型。 (2认同)