Нульове значення в Go


80

Як ви виражаєте "нульове" значення в Go?

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

І я хочу сказати

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

Відповіді:


119

Еквівалент NULLє nil, як ви вже виявили. Зауважте, однак, що вам зазвичай не потрібно ініціалізувати речі nilабо дорівнювати нулю в Go, оскільки за замовчуванням для всіх змінних (включаючи динамічно розподілені) встановлюється значення «нульові значення» відповідно до типу (нульові числа, посилання nil). Отже, у вашому прикладі вислів new(Node)призведе до вузла з обома полями nil.




5

Я думаю , що розуміння Nil є відмінним і всеосяжним інтро nilв Go. Ви також можете переглянути презентаційне відео тут .


3
Той факт, що ваше перше посилання порушено, є чудовим прикладом того, чому відповіді на переповнення стека мають бути відповідями , а не посиланнями.
pzkpfw

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.