Различие между nil slice и empty slice

Код который демонстрирует различные состояния.

Ожидаемый вывод:

Nil Slice : Empty Slice : Slice with Length 5 : Slice with Length 0 and Capacity 5 :

На следующей схему ключ к пониманию

  • nil slice — это слайс, в котором нет базового массива.. Он объявлен, но не инициализирован. Пустой слайс инициализируется, но не содержит элементов.

  • Вы можете добавить элемент к nil slice без проблем, и он поведет себя как empty slice.

  • Разница очевидна, когда вы кодируете их в JSON. Слайс с нулем кодируется как null, в то время как пустой срез кодируется как [ ].

Ставим ❤ #go #golang #slice #nil #empty #json

Различие между nil slice и empty slice | Сетка — социальная сеть от hh.ru Различие между nil slice и empty slice | Сетка — социальная сеть от hh.ru