Функция clear
Функция clear удаляет все элементы из слайса,
устанавливая их в нулевые значения для соответствующего типа.
Важно: функция не изменяет длину и емкость слайса, а лишь
обнуляет значения элементов. В качестве единственного
параметра функция принимает слайс, который нужно очистить.
Синтаксис
clear(s)
Пример
Давайте очистим слайс строк, состоящий из пяти элементов:
package main
import "fmt"
func main() {
s := []string{"a", "b", "c", "d", "e"}
clear(s)
fmt.Println(s)
}
Результат выполнения кода:
[ ]
Как видите, все элементы слайса стали пустыми строками, а длина и емкость остались прежними (5).
Пример
Теперь очистим слайс целых чисел:
package main
import "fmt"
func main() {
s := []int{1, 2, 3, 4, 5}
clear(s)
fmt.Println(s)
}
Результат выполнения кода:
[0 0 0 0 0]
Все элементы слайса стали нулями, так как нулевое
значение для типа int — это 0.
Пример
Очистим слайс с произвольной структурой:
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
s := []Person{{"Alice", 30}, {"Bob", 25}}
clear(s)
fmt.Println(s)
}
Результат выполнения кода:
[{ 0} { 0}]
Каждый элемент структуры обнулен: строки стали пустыми, числа — нулями.