Метод list.List.Init
Метод Init у типа list.List инициализирует
список, делая его пустым и готовым к использованию.
Если список уже был создан через list.New, то
вызывать Init необязательно, так как он уже
инициализирован. Однако этот метод полезен, когда
нужно очистить существующий список от всех элементов
или переиспользовать переменную списка.
Метод возвращает сам список, что позволяет
использовать его в цепочках вызовов.
Синтаксис
list.Init()
Метод не принимает параметров и возвращает
инициализированный список *list.List.
Пример
Давайте создадим список, добавим в него элементы,
а затем очистим его с помощью Init:
package main
import (
"container/list"
"fmt"
)
func main() {
// Создаем список и добавляем элементы
l := list.New()
l.PushBack("a")
l.PushBack("b")
l.PushBack("c")
fmt.Println("Длина до очистки:", l.Len())
// Очищаем список
l.Init()
fmt.Println("Длина после очистки:", l.Len())
}
Результат выполнения кода:
"Длина до очистки: 3"
"Длина после очистки: 0"
Пример
Метод Init возвращает список, поэтому
его можно использовать для переинициализации
в цепочке вызовов:
package main
import (
"container/list"
"fmt"
)
func main() {
l := list.New()
l.PushBack(1)
l.PushBack(2)
// Переинициализируем и сразу добавляем новый элемент
l.Init().PushBack(42)
fmt.Println("Первый элемент:", l.Front().Value)
fmt.Println("Длина списка:", l.Len())
}
Результат выполнения кода:
"Первый элемент: 42"
"Длина списка: 1"
Пример
Если список уже инициализирован, повторный вызов
Init просто очистит его. Это удобно для
переиспользования одного и того же списка:
package main
import (
"container/list"
"fmt"
)
func main() {
l := list.New()
l.PushBack(10)
l.PushBack(20)
l.PushBack(30)
fmt.Print("Исходный список: ")
for e := l.Front(); e != nil; e = e.Next() {
fmt.Print(e.Value, " ")
}
fmt.Println()
// Очищаем список
l.Init()
fmt.Print("После очистки: ")
for e := l.Front(); e != nil; e = e.Next() {
fmt.Print(e.Value, " ")
}
fmt.Println()
}
Результат выполнения кода:
"Исходный список: 10 20 30 "
"После очистки: "
Смотрите также
-
функцию
list.New,
которая создает новый инициализированный список -
метод
list.List.Len,
который возвращает количество элементов в списке -
метод
list.List.PushBack,
который добавляет элемент в конец списка -
метод
list.List.PushFront,
который добавляет элемент в начало списка