標籤:nil go標準庫 ext i++ 語言 containe 輸出 轉義 log
list,go標準庫雙向鏈表結構
定義:
a := list.New()
用法樣本:
package mainimport ( "container/list" "fmt")func main() { l := list.New() l.PushBack(1) //插入鏈表的最後一個位置 l.PushBack(2) l.PushBack(3) l.PushFront(4) //插入鏈表的第一個位置 i := 1 for e := l.Front(); e != nil; e = e.Next() { fmt.Printf("元素%d:%d\n", i, e.Value) }}
輸出結果:
元素1:4元素2:1元素3:2元素4:3
list中元素為struct時,擷取元素每項的方式稍微有些區別,樣本如下:
package mainimport ( "container/list" "fmt")type User struct { id int name string}func main() { l := list.New() item1 := User{id: 101, name: "name1"} item2 := User{id: 102, name: "name2"} l.PushBack(item1) l.PushBack(item2) i := 1 for e := l.Front(); e != nil; e = e.Next() { fmt.Printf("元素%d: id:%d, name:%s\n", i, e.Value.(User).id, e.Value.(User).name) //先轉義後使用 i++ }}
輸出為:
元素1: id:101, name:name1元素2: id:102, name:name2
go語言從零學起(二)--list結構基本用法