Valor nulo en Go

80

¿Cómo se expresa un valor "nulo" en Go?

type Node struct { 
    next *Node
    data interface{}
}

Y quiero decir

return &Node{ data: NULL, next: NULL }
fabrizioM
fuente

Respuestas:

119

El equivalente de NULLes nil, como ya descubrió. Sin embargo, tenga en cuenta que, por lo general, no es necesario inicializar las cosas a nilcero en Go, porque de forma predeterminada todas las variables (incluidas las asignadas dinámicamente) se establecen en "valores cero" según el tipo (números cero, referencias nil). Entonces, en su ejemplo, decir new(Node)daría como resultado un Nodo con ambos campos nil.

Arkku
fuente
19

Me acabo de enterar es nil

fabrizioM
fuente
6

niles el NULL en golang. .

suryakrupa
fuente
1
¿Alguna idea de por qué se llamó nil en lugar de nulo?
ProgramCpp
5

Creo que Understanding Nil es una excelente y completa introducción de nilin Go. También puede ver el video de presentación aquí .

Nan Xiao
fuente
3
El hecho de que su primer enlace esté roto es un excelente ejemplo de por qué las respuestas en el desbordamiento de la pila deberían ser respuestas y no enlaces.
pzkpfw
El título del video es: "GopherCon 2016: Francesc Campoy - Entendiendo nada"
Brent Bradburn