РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
929 of 1593 menu

Метод 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,
    который добавляет элемент в начало списка
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить