Как выразить в Go "нулевое" значение?
type Node struct {
next *Node
data interface{}
}
И я хочу сказать
return &Node{ data: NULL, next: NULL }
Ответы:
Эквивалент NULL
is nil
, как вы уже обнаружили. Тем не менее, обратите внимание, что вам обычно не нужно инициализировать объекты до nil
нуля или нуля в Go, потому что по умолчанию все переменные (включая динамически назначаемые) установлены на «нулевые значения» в соответствии с типом (числа ноль, ссылки nil
). Итак, в вашем примере высказывание new(Node)
приведет к Node с обоими полями nil
.
nil
является NULL в голанге. .
Я думаю, что Understanding Nil - отличное и исчерпывающее вступление к nil
in Go
. Вы также можете посмотреть презентационное видео здесь .