Wartość zerowa w Go


80

Jak wyrazić wartość „zerową” w Go?

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

I chcę powiedzieć

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

Odpowiedzi:


119

Jak już odkryłeś, odpowiednik NULLjest nil. Zwróć jednak uwagę, że generalnie nie musisz inicjować rzeczy do nillub 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.




Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.