Очистка среза в Go
Очистка обнуляет элементы и оставляет прежнюю длину. Встроенная команда clear проходит по видимым ячейкам и ставит нулевые значения типа. Число элементов для len не меняется.
Обнулим три числа и сравним длину до и после:
nums := []int{10, 20, 30}
fmt.Println(len(nums))
clear(nums)
fmt.Println(nums)
fmt.Println(len(nums))
Длина остается 3, на экране три нуля. Это не то же самое, что укоротить срез до 0.
Дан следующий срез:
row := []int{1, 2}
Очистите элементы через clear и выведите срез и его длину.
Создайте через make срез из пяти целых, очистите его и сравните длину до и после.
Скажите, чем очистка отличается от укорочения среза до нулевой длины.