Метод list.List.PushFront
Метод PushFront добавляет новый элемент в начало
списка. Он принимает один параметр - значение произвольного
типа, которое будет сохранено в новом элементе. Метод
возвращает указатель на созданный элемент типа *list.Element,
что позволяет работать с этим элементом дальше (например,
перемещать его или удалять).
Синтаксис
element := list.PushFront(value)
Пример
Давайте создадим новый список и добавим в него один элемент в начало:
package main
import (
"container/list"
"fmt"
)
func main() {
l := list.New()
element := l.PushFront("first")
fmt.Println(element.Value)
}
Результат выполнения кода:
"first"
Пример
Давайте добавим несколько элементов в начало списка и посмотрим на их порядок:
package main
import (
"container/list"
"fmt"
)
func main() {
l := list.New()
l.PushFront("a")
l.PushFront("b")
l.PushFront("c")
for e := l.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
}
Результат выполнения кода:
"c"
"b"
"a"
Как видите, элементы выводятся в порядке, обратном их добавлению.
Пример
Метод возвращает указатель на элемент, который можно использовать для дальнейших операций:
package main
import (
"container/list"
"fmt"
)
func main() {
l := list.New()
e1 := l.PushFront(1)
e2 := l.PushFront(2)
// Move e1 before e2
l.MoveBefore(e1, e2)
for e := l.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
}
Результат выполнения кода:
1
2
Смотрите также
-
функцию
list.New,
которая создает новый двусвязный список -
метод
List.PushBack,
который добавляет элемент в конец списка -
метод
List.InsertBefore,
который вставляет элемент перед указанным -
метод
List.Remove,
который удаляет элемент из списка