一、数组
四种初始化数组的方式
var arr1 [3]int =[3] int{1,2,3}
fmt.Println(arr1)
var arr2 = [3]int{1,2,3}
fmt.Println(arr2)
var arr3 = [...]int{1,2,3}
fmt.Println(arr3)
var arr4 =[...]int {0:1,1:2,2:3}
fmt.Println(arr4)
var arr5 :=[...]string{0:"a",1:"b",2:"3"}
fmt.Println(arr5)
数值型默认0;
字符串默认"";
bool默认false
使用指针传递:
二、数组与指针传递
var arrPtr * [4]int
arr = [3]int{1,2,3}
arrPtr = &arr
fmt.Println("将 arr 的内存地址赋值给数组指针 arrPtr, arrPtr=",ptr)
数组指针
var PtrArr [3]*int
a, b, c:= 1, 2, 3
arr := [3]int{a, b, c}
fmt.Println("arr= :", arr2)
PtrArr = [3]*int{&a, &b, &c}
fmt.Println("PtrArr :", PtrArr)
三、切片
切片(slice)是数组的一种引用,所以数组是引用类型
可以看作为可动态变化的数组
切片定义
var a [] int