Jak wyrazić wartość „zerową” w Go?
type Node struct {
next *Node
data interface{}
}
I chcę powiedzieć
return &Node{ data: NULL, next: NULL }
Odpowiedzi:
Jak już odkryłeś, odpowiednik NULL
jest nil
. Zwróć jednak uwagę, że generalnie nie musisz inicjować rzeczy do nil
lub zera w Go, ponieważ domyślnie wszystkie zmienne (w tym dynamicznie przydzielane) są ustawiane na „wartości zerowe” w zależności od typu (cyfry zero, odwołania nil
). Więc w twoim przykładzie powiedzenie new(Node)
spowodowałoby, że węzeł miałby oba pola nil
.
nil
jest NULL w golang. .
Myślę Zrozumienie Nil jest doskonała i kompleksowa intro nil
w Go
. Możesz również obejrzeć prezentację wideo tutaj .