Golang 內建容器

2021-09-24 06:37:35 字數 1648 閱讀 6688

陣列是值型別

宣告陣列

var variable_name [size] variable_type

var array1 [10]float32

array2 := [3]int

array3 := [...]int

var grid [4][5]bool

複製**

定義切片

你可以宣告乙個未指定大小的陣列來定義切片:

var identifier type  //切片不需要說明長度。

var slice1 type = make(type, len) //使用make()函式來建立切片

//也可以簡寫為

slice1 := make(type, len)

make(t, length, capacity)

//也可以指定容量,其中capacity為可選引數。這裡 len 是陣列的長度並且也是切片的初始長度。

複製**

s := int直接初始化切片,表示是切片型別,初始化值依次是1,2,3.其cap=len=3

s := arr[:]初始化切片s,是陣列arr的引用

s := arr[startindex:endindex]將arr中從下標startindex到endindex-1 下的元素建立為乙個新的切片

s := arr[startindex:]預設endindex時將表示一直到arr的最後乙個元素

s := arr[:endindex]預設startindex時將表示從arr的第乙個元素開始

s1 := s[startindex:endindex]通過切片s初始化切片s1

s :=make(int,len,cap)通過內建函式make()初始化切片s,int 標識為其元素型別為int的切片

空切片乙個切片在未初始化之前預設為 nil,長度為 0

var numbers int

if(numbers == nil)

複製**

切片操作函式定義 map

可以使用內建函式 make 也可以使用 map 關鍵字來定義 map:

/* 宣告變數,預設 map 是 nil */

var map_variable map[key_data_type]value_data_type

/* 使用 make 函式 */

map_variable = make(map[key_data_type]value_data_type)

複製**

m := map[string]string

m2 = make(map[string]int)

var m3 map[sting]int

複製**

m2,m3都是nil map。如果不初始化 map,那麼就會建立乙個 nil map。nil map 不能用來存放鍵值對

delete() 函式

delete() 函式用於刪除集合的元素, 引數為 map 和其對應的 key

Golang 內建函式

golang中內建了一些函式,在使用這些函式時,不必以包名為字首來呼叫,而是直接寫函式名即可呼叫,這些函式都是一些基礎的函式,在程式設計中應用比較普遍,所以一定要牢記這些最基本的函式用法。下邊來介紹一下golang內建函式。package main import fmt func main func...

golang 內建函式

golang有一些不需要進行匯入操作即可使用的內建函式,函式功能 close 用於管道通訊,關閉chanal len cap len 用於返回某個型別的長度或數量 字串 陣列 切片 map 管道 cap用於返回某個型別的最大容量 只能用於切片和 map new make new 和 make 均是用...

go內建容器

陣列 array 切片 slice 對比一下可以發現,唯一的區別就在於,陣列是使用 5 int 來進行初始化,而 slice 是使用 int。在go中,我們經常使用slice。slice的特點是,長度是可以改變的,也就是說,我們可以無限追加元素到slice中。其他特點slice與陣列並無區別。map...