Goでの双方向連結リストのつくりかた
1. 初期化
linkedList := list.New()
2. 要素の追加
2.1 先頭に追加
e1 := linekedList.PushFront(1) // 1を先頭に追加
2.2 末尾に追加
e4 := linkedList.PushBack(4) // 4を末尾に追加
2.3 ある要素の前に追加
linkedList.InsertAfter(3, e4) // 3をe4の前に追加
2.4 ある要素の後に追加
linkedList.InsertBefore(2, e1) // 2をe1の後に追加
3. 要素の削除
3.1 指定した要素を削除
linkedList.Remove(e4) // linkedList中のe4を削除
3.2 全要素を削除(クリア)
linkedList.Init()
4. 要素の取得
4.1 先頭の要素の取得
frontElement := linkedList.Front()
4.2 末尾の要素の取得
lastElement := linkedList.Back()
4.3 先頭から順に取得(例)
for e := linkedList.Front(); e != nil; e.Next() {
fmt.Println(e.Value)
}
5. 公式ドキュメント
https://golang.org/pkg/container/list/