go(5)陣列,切片。
在Go語言中,陣列是一種具有相同型別固定大小的一種資料結構。
我們先來看看陣列的使用,陣列型別宣告時的方式是 []T ,前面的[]指定陣列的大小,T指定陣列的型別,如下我們宣告瞭一下陣列,陣列的大小是3,在沒指定陣列初始值時陣列預設初始值是{0,0,0}
array1 := [3]int{}
//我們可以通過如下方式給陣列賦值
array1[0] = 1
array1[1] = 2
array1[2] = 3
//下面這種也是陣列宣告的一種方式,並且初始化陣列的值為{1,2}
array2 := [2]int {1,2}
思考一下前面我們array1賦值給array2對嗎?記住,這種方式是錯誤的,在Go語言中只有大小相等,型別相同的陣列才是同型別的陣列,之間才可以相互賦值,如下截圖,我們可以看見array1賦值給array2時編譯器報錯。
array2 = array1
陣列的遍歷訪問。
//訪問陣列中的元素
array4 := [2]int {1,2}
//訪問陣列下標為0處的值並列印
fmt.Println(array4[0])
//通過range遍歷陣列,
//i代表陣列的下標,
//v代表陣列下標為i處的值
for i,v := range array4{
fmt.Println(i,v)
}
array5 := [2][2]int{{1,2},{3,4}}
for i,tempArray := range array5{
//此時tempArray是一維陣列
//再通過range 遍歷tempArrayy一維陣列
for j,v := range tempArray{
fmt.Println(j,v)
}
}
切片
在Go語言中,切片是陣列的一種高階運用,相對於陣列,切片是一種更加方便,靈活,高效的資料結構。,切片並不儲存任何元素而只是對現有陣列的引用(不是值拷貝,是指標)
通過陣列建立
array1 := [3]int{1,2,3}
//將陣列下標從1處到下標2處的元素轉換為一個切片(前閉後開)
slice1 := array1[1:2]
通過切片生成一個切片
//下面程式碼直接出初始化一個切片 (這裡大家有個疑問,我不管怎麼看都覺得它是一個陣列啊)
//記住,再go語言中,區別一個變數是陣列還是切片,就看有沒有定義長度
//有定義長度就是陣列,如array1,沒定義就是切片 如slice2
//我們也通過fmt.Println(reflect.TypeOf(array1),reflect.TypeOf(slice2))
//上面這程式碼列印的結果是[3]int,[]int,可以看到前者有長度,後者沒有
slice2 := []int{1,2,3}
相關文章
- Go 陣列&切片Go陣列
- go陣列與切片Go陣列
- Go中陣列和切片Go陣列
- go語言之陣列與切片Go陣列
- 介紹 Go 的陣列和切片Go陣列
- 聊聊Go語言中的陣列與切片Go陣列
- go語言學習-陣列-切片-mapGo陣列
- Go 語言基礎 陣列、切片、對映Go陣列
- Go語言系列(三)之陣列和切片Go陣列
- Go 如何對陣列切片進行去重Go陣列
- 小白對go陣列及切片的學習Go陣列
- 大資料開發-Go-陣列,切片大資料Go陣列
- go中陣列,切片和append的玄學Go陣列APP
- 七、陣列與切片陣列
- GO語言————7.6 字串、陣列和切片的應用Go字串陣列
- Go 語言學習筆記之陣列與切片Go筆記陣列
- 快速理解Go陣列和切片的內部實現原理Go陣列
- (二)golang陣列和切片Golang陣列
- go語言教程之淺談陣列和切片的異同Go陣列
- Go 基礎教程--5 陣列 ArrayGo陣列
- 切片底層陣列詳解陣列
- [譯] part 11: goalng 陣列和切片Go陣列
- golang切片和陣列的區別Golang陣列
- python多維陣列切片方法Python陣列
- go 陣列 new ()Go陣列
- Golang 陣列和切片 Slice 和 Map 使用Golang陣列
- [翻譯] NumSharp的陣列切片功能 [:]陣列
- Golang切片和陣列底層詳解Golang陣列
- 深入學習golang(1)—陣列與切片Golang陣列
- GO 筆記-陣列Go筆記陣列
- Go中的陣列Go陣列
- go 語言陣列Go陣列
- The Way To Go --- 切片Go
- go_切片Go
- Go 陣列指標(指向陣列的指標)Go陣列指標
- 【numpy學習筆記】陣列的切片,索引,迭代筆記陣列索引
- NumPy 陣列切片及資料型別介紹陣列資料型別
- Golang 基礎-資料型別-陣列和切片Golang資料型別陣列