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