Go語言學習筆記十一 Go語言陣列的相關操作

2022-05-02 04:57:11 字數 1496 閱讀 1133

1

package main

23 import "fmt"45

func main() //

var arr1 = [3]int 這兩中寫法都可以

15 fmt.println("arr1 = ", arr1)

1617 arr2 := int

18 fmt.println("arr2 = ", arr2)

19//

len用於求長度

20 fmt.println("arr2 的長度為:",len(arr2))

2122 arr3 := [5]int

23 fmt.println("arr3 = ", arr3)

2425

//通過下標進行賦值

26 arr4 := [7]int

27 fmt.println("arr4 = ", arr4)

2829

//區別於c語言裡面陣列名就是乙個指標 在go語言裡面 陣列的長度是陣列元素的一部分,其長度不同的不能相互之間進行賦值

30var arr5 [5]int

31var arr6 [5]int

32var arr7 [6]int

33 arr5 = arr6 //

合法34

//arr6 = arr7 //報錯

35fmt.println(arr5)

36fmt.println(arr6)

37fmt.println(arr7)

38//

陣列的遍歷

39for i:=0;i

4243 println("下面我們使用for range的方式來遍歷陣列")

44for index, value :=range arr1

47 println("下面我們使用for range的方式來遍歷陣列,並且只輸出他的值")

48//

range有兩個返回值 使用下劃線_ 來忽略第乙個返回值

49for _, value :=range arr1

52 }

1

package main

23 import "fmt"

4 func arraymodify(c [5]int)7

func main()

10 b := a //

這種方式是新開乙個記憶體,將a裡面的所有值都複製乙份到陣列b

1112 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 }

Go語言學習十一 go語言切片

go 語言切片是對陣列的抽象。go 陣列的長度不可改變,在特定場景中這樣的集合就不太適用,go中提供了一種靈活,功能強悍的內建型別切片 動態陣列 與陣列相比切片的長度是不固定的,可以追加元素,在追加時可能使切片的容量增大。你可以宣告乙個未指定大小的陣列來定義切片 var identifier typ...

Go語言學習筆記 十一 之指標

變數和記憶體位址 1.每個變數都有記憶體位址,可以說通過變數來操作對應大小的記憶體,符號可以獲取變數的位址1 var a int322 a 1003 fmt.printf d n a 4 fmt.printf p n a 1 1002 0xc00004a058 2.普通變數儲存的是對應型別的值,這些...

go語言學習筆記

type info struct func main fmt.println info1 data,json.marshal info1 fmt.println string data 輸出 這裡要特別注意的是 json 冒號後面和雙引號之間千萬不要有空格!被坑慘了 go語言 import的包的前面...