GO 復合型別 切片

2021-10-03 23:32:09 字數 1768 閱讀 3999

/**相當於長度可以擴張的陣列

經過陣列擷取的片段就是切片

*/func

main01()

// 擷取陣列的前9位

slice := array[0:

9]fmt.

printf

("array的資料型別是%t\n"

, array)

fmt.

printf

("slice的資料型別是%t,值是%v\n"

, slice, slice)

// 下標為0開始擷取5位

slice = array[0:

5]fmt.

printf

("slice的資料型別是%t,值是%v\n"

, slice, slice)

// 從0開始擷取5位

slice = array[:5

] fmt.

printf

("slice的資料型別是%t,值是%v\n"

, slice, slice)

// 從下標0開始擷取全部

slice = array[0:

] fmt.

printf

("slice的資料型別是%t,值是%v\n"

, slice, slice)

// 擷取全部

slice = array[:]

fmt.

printf

("slice的資料型別是%t,值是%v\n"

, slice, slice)

}func

main()

fmt.

printf

("slice的資料型別是%t\n"

, slice)

fmt.

printf

("slice的長度是%d,值是%v\n"

,len

(slice)

, slice)

// 往切片裡邊新增元素

slice =

(slice,0)

fmt.

printf

("slice的長度是%d,值是%v\n"

,len

(slice)

, slice)

slice =

(slice,11,

22,33)

fmt.

printf

("slice的長度是%d,值是%v\n"

,len

(slice)

, slice)

// 在來熟悉一下遍歷陣列

for i :=

0; i <

len(slice)

; i++

for index, value :=

range slice

}把乙個陣列改變為切片只需要使用slice來擷取即可 這裡的使用方法跟php很類似,簡單了解即可

在go裡陣列是固定的不變的,除非使用擷取來改變型別為切片,否則無法擴容

Go 復合資料型別 切片 slice

切片 package main import fmt math rand time func main arr1 int arr2 make int,6,8 arr3 make int,6 fmt.printf 長度len d,容量cap d n len arr cap arr 6 6 fmt.pr...

Golang復合型別 切片

go 語言切片是對陣列的抽象。go 陣列的長度不可改變,在特定場景中這樣的集合就不太適用,go中提供了一種靈活,功能強悍的內建型別切片 動態陣列 與陣列相比切片的長度是不固定的,可以追加元素,在追加時可能使切片的容量增大 切片是一種方便 靈活且強大的包裝器。切片本身沒有任何資料。它們只是對現有陣列的...

go 復合型別

1.陣列 1 陣列是擁有固定長度且擁有零個或者多個相同資料型別元素的序列。2 初始值預設為元素型別的零值 3 如果 出現在陣列長度的位置,則陣列的長度由初始化陣列的元素個數決定 4 陣列長度是陣列型別的一部分,3 int 和 4 int 是不同的型別,不能互相賦值 也就是說陣列長度在編譯時就已經確定...