Go語言學習筆記十一--Go語言數組的相關操作


一、數組的基本操作

 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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM