Go 學習筆記 04 陣列 切片

2022-06-23 02:09:17 字數 993 閱讀 2096

陣列長度指定之後,不可修改。[...]會自行推斷陣列長度。

var arr = [...]int
指定索引值來初始化陣列。

arr := [...]int
輸出:

[1 20 20 0 0 50]
基本資料型別和陣列都是值型別,&是引用型別。

golang 中申明切片之後,切片預設值就是nil

len()取長度,cap()求切片的容量。

定義切片的時候,把陣列長度去掉。

var arr int

擴容策略

copy() 函式

值型別,改變變數副本值不會影響變數本身的值。(陣列、基本資料型別)

引用資料型別,改變變數副本值會影響變數本身的值。(切片)

copy(sliceb, slicea)
golang 沒有刪除切片元素的專用方法,可以使用切片本身特性刪除元素。

sort 包排序

// 公升序

sort.ints(intlist)

sort.float64s(float8list)

sort.strings(stringlist)

// 降序

sort.sort(sort.reverse(sort.intslice(intlist)))

sort.sort(sort.reverse(sort.float64slice(float8list)))

sort.sort(sort.reverse(sort.stringslice(stringlist)))

golang 教程 p17-p21

Go學習筆記 陣列和切片

陣列型別的值 以下簡稱陣列 的長度是固定的,而切片型別的值 以下簡稱切片 是可變長的。陣列的長度在宣告它的時候就必須給定,並且在之後不會再改變。可以說,陣列的長度是其型別的一部分。go 語言的切片型別屬於引用型別,同屬引用型別的還有後面會講到的字典型別 通道型別 函式型別等 而 go 語言的陣列型別...

Go學習筆記 陣列和切片

陣列 陣列是具有相同唯一型別的一組已編號且長度固定的資料項序列 同構的資料結構 這種型別可以是任意的原始型別,例如整型 字串或者自定義型別。陣列長度必須是乙個常量表示式,並且必須是乙個非負整數。陣列成都也是陣列型別的一部分,所以 5 int和 10 int是屬於不同型別的。陣列是一種值型別。陣列的編...

go陣列 切片

陣列 陣列指標 fmt.println 陣列指標 i int var p 10 int i fmt.println p fmt.println p x,y 1,2 j int fmt.println j k 2 int l 2 int fmt.println k l 指向陣列的指標 m new 5 ...