Go語言基礎語法 切片

2021-10-23 20:15:36 字數 1562 閱讀 6173

go中的切片可對標python中的切片,是對陣列的抽象,可以理解為動態陣列,可通過乙個不指定大小的陣列來宣告乙個切片

go中切片的幾種常用語法的示例程式如下:

一、通過make函式定義切片及使用len()和cap()函式

例項:

package main

import "fmt"

func main()

func printslice(x int)

執行結果:

二、 切片未初始化時為空(即等於nil)

例項:

package main

import "fmt"

func main()

}func printslice(x int)

執行結果:

三、切片擷取

例項如下:

package main

import "fmt"

func main()

printslice(numbers)

//列印原始切片

fmt.println("numbers == ", numbers)

//列印子切片從索引1(包含)到索引4(不包含)

fmt.println("numbers[1:4] == ", numbers[1:4])

//預設下限為0

fmt.println("numbers[:3] == ", numbers[:3])

//預設上限為len(s)

fmt.println("number[4:] == ", numbers[4:])

numbers1 := make(int,0,5)

printslice(numbers1)

//列印子切片從索引0(包含)到索引2(不包含)

number2 := numbers[:2]

printslice(number2)

//列印子切片從索引2(包含)到索引5(不包含)

number3 := numbers[2:5]

printslice(number3)

}func printslice(x int)

執行結果:

四、切片增加元素與擴容

當需要對切片進行擴容時,只能通過定義乙個新的切片,然後將原來的切片通過copy()函式拷貝到新的切片中

例項如下:

package main

import "fmt"

func main()

func printslice(x int)

執行結果:

Go語言基礎 切片

切片 slice 是乙個擁有相同型別元素的可變長度的序列。它是基於陣列型別做的一層封裝。它非常靈活,支援自動擴容。切片是乙個引用型別,它的內部結構包含位址 長度和容量。切片一般用於快速地操作一塊資料集合。陣列的長度是固定的並且陣列長度屬於型別的一部分,所以陣列有很多的侷限性。1 func array...

go語言基礎 切片 slice

理解為變長的陣列 a 切片建立 s1 int s2 make t,len,cap arr 5 int s3 arr start end 切割陣列 start,end s4 arr b 切片的型別 資料型別 切片屬於引用型別 s1 int s2 s1 packagemain import fmt fu...

go語言基礎之切片

1 切片的長度和容量 流程分析 示例 package main 必須有個main包 import fmt func main s a 0 3 5 fmt.println s s fmt.println len s len s 長度 3 0 fmt.println cap s cap s 容量 5 0...