go語言學習筆記 切片

2021-08-21 18:36:45 字數 1155 閱讀 3154

理解

建立切片

1.make函式,語法: make(型別, 長度, 容量)

s := make(int, 3, 5)
切片s可以訪問3個元素,底層陣列擁有5個元素

注意:不允許建立長度小於容量的切片

2.建立乙個陣列的切片

arr := [...]string

slice := arr[1:3] //[hi go] 從索引1到3位置的元素,不包含右邊

3.和建立陣列的方法很像,只要不指定長度,建立的就是切片型別

slice := int
建立乙個空切片的方法

// 建立空切片的方法

var s int

if s == nil

s2 := make(string, 0, 0)

if s2 == nil

s3 := int{}

if s3 == nil

迭代切片

也可以使用for...range

slice := int

for _, v := range slice

函式傳遞切片

func getslice(nums int) 

func main()

getslice(slice)

fmt.println(slice) //[666 2 3]

}

檢查乙個切片是否為空

使用len(s) == 0 ,而不是 s != nil, 因為即使s == nil, 切片也不一定是空的

以上就是關於go語言中struct的一些基本理解和操作,之後會持續更新的~

感謝你的閱讀~

Go語言學習筆記十二 Go語言切片

1 package main 23 import fmt 45 切片定義 切片是基於陣列型別的一層封裝。它非常靈活,可以自動擴容,切片是乙個引用型別 6func main else 16 b 0 100 這種寫法是錯誤的,切片必須先初始化 17var c 5 int 5 int 18 fmt.pri...

GO語言學習 切片

切片的長度可以用len獲得,容量由cap獲得.s1 make int,5 len s1 可以得到長度為5,cap s1 可以得到容量為5 s2 make int,5,8 len s2 可以得到長度為5,cap s2 可以得到容量為8 在s1中我沒有用make說明此切片的容量,因此他的容量和長度相等都...

Go語言學習十一 go語言切片

go 語言切片是對陣列的抽象。go 陣列的長度不可改變,在特定場景中這樣的集合就不太適用,go中提供了一種靈活,功能強悍的內建型別切片 動態陣列 與陣列相比切片的長度是不固定的,可以追加元素,在追加時可能使切片的容量增大。你可以宣告乙個未指定大小的陣列來定義切片 var identifier typ...