golang 包含 数组_golang 数组

##声明数组

###简单声明数组

//声明一个2个元素的数组,名字为shuzu1,因为是int型数组,所以初值为0,即[0,0]

var shuzu1 [2]int

//声明一个2个元素的数组,名字为shuzu2,并同时赋初值,{}里为空,说明没有赋初值,等同于上面

shuzu2 := [2]int{}

###声明数组并同时赋初值

//声明一个2个元素的数组,名字为shuzu3,shuzu3_1,shuzu3_2,并同时赋初值,结果均为[1,2]

shuzu3 := [2]int{1,2}

//{}里的冒号左边是下标,右边是值

shuzu3_1 := [2]int{0:1,1:2}

shuzu3_2 := [2]int{1:2,0:1}

###声明数组并同时赋初值,并自动计算长度

//不指定数组长度,自动计算长度,[...]

//声明一个2个(自动计算而来)元素的数组,名字为shuzu4,并同时赋初值,结果为[1,2]

shuzu4 := [...]int{1,2}

//声明一个4个(自动计算而来)元素的数组,名字为shuzu5,并同时赋初值,结果为[0,9]

shuzu5 := [...]int{3:9}

##[指向]数组的指针 ###声明一个指针,该指针指向一个数组

//声明一个指向数组的指针,该数组声明有2个元素,名字为p_shuzu1,因为是指向int型数组,所以初值为0,即&[0,0]

var p_shuzu1 *[2]int

//声明一个指向数组的指针,该数组声明有2个元素,名字为p_shuzu2,数组初值为[1,2],即指针为&[1,2]

p_shuzu2 := *[2]int{1,2}

##new一个数组 ###new出来的数组,返回的是数组的指针

//声明一个指向数组的指针,该数组声明有2个元素,名字为p_shuzu1,0]

var p_shuzu1 *[2]int

//p_shuzu1和p_shuzu2是等价的,只是p_shuzu2是new出来的

p_shuzu2 := new([2]int)

##[存放]指针的数组

###引子,和数组无关,和int型与int型指针有关 //声明一个int型 i := 1 //声明一个指向int型的指针p p := &i

###引子,声明一个数组,该数组存放着--int型数字 //如果有多个int型数字,可以用int型数组来整合,数组里全部都是int型 i := 2 j := 3 shuzu1 := [2]int{i,j} fmt.Println(shuzu1) //[2,3] ###声明一个(用来存放int指针)的数组 //如果有多个指向int型的指针,就可以用(int型指针)的数组来整合,数组里全部是指针,且全部是int型指针(这些指针都指向一个个int型) i := 2 ip := &i j := 3 jp := &j shuzu1_p := [2]*int{ip,jp} fmt.Println(shuzu1_p) //[0x34352423,0x47845392],打印出的是地址值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值