study_go_day3 數(shù)組

package main

import "fmt"

/**數(shù)組

* 定義數(shù)組數(shù)量在前類型在后

* 可以通過[...]來讓編譯器幫數(shù)有多少個

* 數(shù)組是值類型

* [5]int 和 [6]int是不同類型

* 調用func printArray(arr [5]int)會拷貝,go語言是值傳遞

* go語言中一般不直接使用數(shù)組,go語言使用的是slice

*/

func? arrays()? {

var arr [5]int

arr1 := [3]int{1,2,3}

arr2 := [...]int{1,2,3,4,5,6}

fmt.Println(arr,arr1,arr2)

var grid [4][5]int//二維數(shù)組,表示有4行5列

? fmt.Println(grid)

//遍歷數(shù)組,普通方法

? for i :=0;i < len(arr2) ;i++? {

fmt.Println(i,arr2[i])

}

fmt.Println("range")

//使用range關鍵字

? for i,v :=range arr2 {

fmt.Println(i,v)

}

fmt.Println("_____")

//"_"跳過某一個值

? for _,v :=range arr2 {

fmt.Println(v)

}

fmt.Println("只取下標")

//只取下標

? for i :=range arr1 {

fmt.Println(i)

}

}

//數(shù)組是值類型

func printArray(arr [5]int)? {

arr[0] =100

? for _,v :=range arr {

fmt.Println(v)

}

}

//通過指針改變數(shù)組值

func printArray1(arr *[5]int)? {

arr[0] =100

? for _,v :=range arr {

fmt.Println(v)

}

}

//通過slice改變數(shù)組值

func printArray2(arr []int)? {

arr[1] =88

? for _,v :=range arr {

fmt.Println(v)

}

}

/** slice (切片)

* 計算機中一般是半開半閉區(qū)間

* slice不是值類型,slice是對array的一個視圖

*/

func studySlice()? {

arr := [...]int{0,1,2,3,4,5,6,7}

fmt.Println(arr[2:6])

fmt.Println(arr[:6])

fmt.Println(arr[2:])

fmt.Println(arr[:])

}

func updateSlice(arr []int)? {

arr[0] =99

}

func main() {

arrays()

fmt.Println("printArray(arr)")

var arr [5]int

printArray(arr)

fmt.Println("arr")

fmt.Println(arr)

fmt.Println("通過指針改變數(shù)組值")

printArray1(&arr)

fmt.Println("arr")

fmt.Println(arr)

fmt.Println("通過slice改變數(shù)組值")

printArray2(arr[:])

fmt.Println("arr")

fmt.Println(arr)

fmt.Println("studySlice")

studySlice()

arr1 := [...]int{0,1,2,3,4,5,6,7}

s1 := arr1[2:6]

//s2 := arr1[:6]

//s3 := arr1[2:]

//s4 := arr1[:]

? fmt.Println("切片之后")

updateSlice(s1)

fmt.Println(s1)

fmt.Println(arr1)

fmt.Println("Reslice")

fmt.Println(s1)

s1 = s1[:4]

fmt.Println(s1)

s1 = s1[2:]

fmt.Println(s1)

//slice擴展

? ? fmt.Println("slice擴展")

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容