GO基礎之List
- 2019 年 11 月 3 日
- 筆記
一、List定義
概述
1、list是一種非連續存儲的容器,由多個節點組成,節點通過一些變數記錄彼此之間的關係。list有多種實現方法,如單向鏈表、雙向鏈表等。
2、Go語言中list的實現原理是雙向鏈表。list能高效地進行任意位置的元素插入和刪除操作
go中的list
- Golan的標準庫提供了高級的數據結構List。具體在包 container/ist。
- container/ist包里主要有兩個數據結構類型:“ Element”、“List”;
- Element類型代表雙向鏈表中的一個元素,相當於C++裡面的” iterator”;
- List代表一個雙向鏈表。List零值為一個空的、可用的鏈表。
- Element有Prev和Next方法用於得到前一個或者下一個 Element,Element可以直接調用 Value屬性;
二、list的使用
1、 通過container/list包的New方法聲明list
- •變數名:=list.New()
2、通過var聲明list
- • var 變數名 list.List
- • list與切片和map不同,沒有具體元素類型的限制。list中的元素可以是任意類型。
- •在CPP裡面,list的成員必須是同一個數據類型,但是Go語言中卻允許list中插入任意類型的成員。
- •建議使用New()實現聲明list