slice 宣告與操作

切片 slice

  • 一種資料型別,從概念上說是一個結構體。可以理解為動態長度的陣列

  • 傳遞時為按引用傳遞的,函式內對slice內元素的修改將導致函式外的值也發生改變

  • 可以透過make宣告長度與容量減少開銷

  • 長度是它所包含的元素個數,長度不能超過容量

宣告

s1 := []int{1,2,3}	
//通過陣列的引用初始化,值為[1,2,3],長度和容量為3

arr := [5]int{1,2,3,4,5}
s2 := arr[0:3]	
//通過陣列的切片初始化,值為[1,2,3],長度為3,容量為5

s3 := make([]int, 3)	
//通過make函式初始化,值為[0,0,0],長度和容量為3

s4 := make([]int, 3, 5)	
//通過make函式初始化,值為[0,0,0],長度為3,容量為5

新增元素:動態改變slice大小

切片長度可以動態改變,這時候會使用 append 函式

沒有移除元素的函式,但可以用一些技巧移掉某一個元素

走訪array

  • 注意不可以直接在range中修改元素,若要修改中的元素,要以修改陣列的元素的值

  • 傳遞時為按引用傳遞

Last updated