Nullwert in Go

80

Wie drückt man in Go einen "Null" -Wert aus?

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

Und ich möchte sagen

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

Antworten:

119

Das Äquivalent von NULList nil, wie Sie bereits entdeckt haben. Beachten Sie jedoch, dass Sie nilin Go im Allgemeinen keine Elemente auf oder Null initialisieren müssen , da standardmäßig alle Variablen (einschließlich der dynamisch zugewiesenen) je nach Typ auf „Nullwerte“ gesetzt sind (Zahlen Null, Referenzen nil). In Ihrem Beispiel new(Node)würde das Sprichwort also zu einem Knoten mit beiden Feldern führen nil.

Arkku
quelle
19

Ich habe gerade herausgefunden, ist nil

fabrizioM
quelle
6

nilist der NULL in Golang. .

suryakrupa
quelle
1
Irgendeine Idee, warum es nil statt null genannt wurde?
ProgramCpp
5

Ich denke, Understanding Nil ist ein exzellentes und umfassendes Intro von nilin Go. Sie können auch die Präsentation Video sehen hier .

Nan Xiao
quelle
3
Die Tatsache, dass Ihr erster Link unterbrochen ist, ist ein hervorragendes Beispiel dafür, warum Antworten beim Stapelüberlauf Antworten und keine Links sein sollten.
pzkpfw
Der Titel des Videos lautet: "GopherCon 2016: Francesc Campoy - Null verstehen"
Brent Bradburn