import "container/list"

2重リンクリストを実装しています。 

パッケージファイル

list.go  

Element型

Elementはリンクリストの要素です。 

type Element struct {
    // The contents of this list element.
    Value interface{};
    // contains unexported fields
} 

(*Element) Next関数

func (e *Element) Next() *Element

Nextは次の要素、またはnilを返します。

(*Element) Prev関数

func (e *Element) Prev() *Element

Prevは前の要素、またはnilを返します。

List型

2重リンクリストです。

type List struct {
    // contains unexported fields
} 

New関数

func New() *List

Newは初期化済みのリストを返します。

(*List) Back関数

func (l *List) Back() *Element

Back はリスト内の最後の要素を返します。

(*List) Front関数

func (l *List) Front() *Element

Frontはリスト内の先頭の要素を返します。

(*List) Init関数

func (l *List) Init() *List

Initはリストを初期化、クリアします。

(*List) InsertAfter関数

func (l *List) InsertAfter(value interface{}, mark *Element) *Element

InsertAfterはパラメータmarkで示した要素の直後にパラメータvalueの値を挿入します。
戻り値は新たに挿入した要素です。

(*List) InsertBefore関数

func (l *List) InsertBefore(value interface{}, mark *Element) *Element

InsertBeforeはパラメータmarkで示した要素の直前にパラメータvalueの値を挿入します。
戻り値は新たに挿入した要素です。

(*List) Iter関数

func (l *List) Iter() <-chan interface{}

(*List) Len関数

func (l *List) Len() int

Lenはリスト内の要素数を返します。

(*List) MoveToBack関数

func (l *List) MoveToBack(e *Element)

MoveToBackは要素をリストの最後に移動します。

(*List) MoveToFront関数

func (l *List) MoveToFront(e *Element)

MoveToFrontは要素をリストの先頭に移動します。

(*List) PushBack関数

func (l *List) PushBack(value interface{}) *Element

PushBackはリストの最後にパラメータvalueの値を挿入します。
戻り値は新たに挿入した要素です。

(*List) PushFront関数

func (l *List) PushFront(value interface{}) *Element

PushFrontはリストの先頭にパラメータvalueの値を挿入します。
戻り値は新たに挿入した要素です。

(*List) Remove関数

func (l *List) Remove(e *Element)

Removeは要素をリストから削除します。