package list

Import Path
	container/list (on go.dev)

Dependency Relation
	imports 0 packages, and imported by 3 packages

Involved Source Files Package list implements a doubly linked list. To iterate over a list (where l is a *List): for e := l.Front(); e != nil; e = e.Next() { // do something with e.Value }
Code Examples package main import ( "container/list" "fmt" ) func main() { // Create a new list and put some numbers in it. l := list.New() e4 := l.PushBack(4) e1 := l.PushFront(1) l.InsertBefore(3, e4) l.InsertAfter(2, e1) // Iterate through list and print its contents. for e := l.Front(); e != nil; e = e.Next() { fmt.Println(e.Value) } }
Package-Level Type Names (total 2)
/* sort by: | */
Element is an element of a linked list. The value stored with this element. Next returns the next list element or nil. Prev returns the previous list element or nil. func (*Element).Next() *Element func (*Element).Prev() *Element func (*List).Back() *Element func (*List).Front() *Element func (*List).InsertAfter(v any, mark *Element) *Element func (*List).InsertBefore(v any, mark *Element) *Element func (*List).PushBack(v any) *Element func (*List).PushFront(v any) *Element func (*List).InsertAfter(v any, mark *Element) *Element func (*List).InsertBefore(v any, mark *Element) *Element func (*List).MoveAfter(e, mark *Element) func (*List).MoveBefore(e, mark *Element) func (*List).MoveToBack(e *Element) func (*List).MoveToFront(e *Element) func (*List).Remove(e *Element) any
List represents a doubly linked list. The zero value for List is an empty list ready to use. Back returns the last element of list l or nil if the list is empty. Front returns the first element of list l or nil if the list is empty. Init initializes or clears list l. InsertAfter inserts a new element e with value v immediately after mark and returns e. If mark is not an element of l, the list is not modified. The mark must not be nil. InsertBefore inserts a new element e with value v immediately before mark and returns e. If mark is not an element of l, the list is not modified. The mark must not be nil. Len returns the number of elements of list l. The complexity is O(1). MoveAfter moves element e to its new position after mark. If e or mark is not an element of l, or e == mark, the list is not modified. The element and mark must not be nil. MoveBefore moves element e to its new position before mark. If e or mark is not an element of l, or e == mark, the list is not modified. The element and mark must not be nil. MoveToBack moves element e to the back of list l. If e is not an element of l, the list is not modified. The element must not be nil. MoveToFront moves element e to the front of list l. If e is not an element of l, the list is not modified. The element must not be nil. PushBack inserts a new element e with value v at the back of list l and returns e. PushBackList inserts a copy of another list at the back of list l. The lists l and other may be the same. They must not be nil. PushFront inserts a new element e with value v at the front of list l and returns e. PushFrontList inserts a copy of another list at the front of list l. The lists l and other may be the same. They must not be nil. Remove removes e from l if e is an element of list l. It returns the element value e.Value. The element must not be nil. func New() *List func (*List).Init() *List func (*List).PushBackList(other *List) func (*List).PushFrontList(other *List)
Package-Level Functions (only one)
New returns an initialized list.