一、數組的基本操作
1 package main 2 3 import "fmt" 4 5 func main() { 6 var arr[5] int 7 //數組會自動將自己的元素初始化 8 fmt.Println(arr) 9 //給其中的一個元素賦值 10 arr[0] = 11 11 arr[2] = 33 12 fmt.Println("arr = ", arr) 13 14 var arr1 [3]int = [3]int{11,22,33} // var arr1 = [3]int{11,22,33} 這兩中寫法都可以 15 fmt.Println("arr1 = ", arr1) 16 17 arr2 := []int{44,55,66} 18 fmt.Println("arr2 = ", arr2) 19 //len用於求長度 20 fmt.Println("arr2 的長度為:",len(arr2)) 21 22 arr3 := [5]int{10} 23 fmt.Println("arr3 = ", arr3) 24 25 //通過下標進行賦值 26 arr4 := [7]int{2:100,5:555} 27 fmt.Println("arr4 = ", arr4) 28 29 //區別於C語言里面數組名就是一個指針 在go語言里面 數組的長度是數組元素的一部分,其長度不同的不能相互之間進行賦值 30 var arr5 [5]int 31 var arr6 [5]int 32 var arr7 [6]int 33 arr5 = arr6 //合法 34 //arr6 = arr7 //報錯 35 fmt.Println(arr5) 36 fmt.Println(arr6) 37 fmt.Println(arr7) 38 //數組的遍歷 39 for i:=0;i<len(arr1);i++ { 40 fmt.Printf("arr1[%d] = %d\n",i,arr1[i]) 41 } 42 43 println("下面我們使用for range的方式來遍歷數組") 44 for index, value := range arr1{ 45 fmt.Printf("arr1[%d] = %d\n",index, value) 46 } 47 println("下面我們使用for range的方式來遍歷數組,並且只輸出他的值") 48 //range有兩個返回值 使用下划線_ 來忽略第一個返回值 49 for _, value := range arr1{ 50 fmt.Printf(" %d\n", value) 51 } 52 }
二、數組的復制
1 package main 2 3 import "fmt" 4 func arrayModify(c [5]int){ 5 c[0] = 1000 6 } 7 func main() { 8 9 var a [5]int = [5]int{6,5,2,3,8} 10 b := a //這種方式是新開一個內存,將a里面的所有值都復制一份到數組b 11 12 b[0] = 88 13 b[1] = 99 14 fmt.Printf("a[] = %v\n",a) 15 fmt.Printf("b[] = %v\n",b) 16 arrayModify(b) //你會發現執行這個函數 其實啥也沒變 17 fmt.Printf("b[] = %v\n",b) 18 }