GO学习---go语言中数组和切片

  1. Go语言中的数组定义方式
var a = [3]int{1,23}         //如果不赋值,默认初始化为0
b:=[3]int{1,2,3,4}
c :=[2][3]int{{1,2,3},{4,5,6}} //二维数组
d :=[...]int{1,2,3,4,5} //自动推导数组中的元素
  1. Go语言中的数组截取
a := [...]int{1,2,3,4,5,6,7}
a[1,2] //左闭右开区间
a[2,3]
a[1:len(a)]
a[:3]

  1. Go语言遍历数组(只有for循环)
用传统for
for i:=0;i<len(a);i++{
	t.Log(a[i])
}
另一种方式
for idx,value := range a{
	t.Log(idx,value) //idx是数组的索引,value为值 ,可以使用_替代idx,表示我不关心索引值
}
  1. Go语言中的切片定义方式
var s1 []int //和数组类似,但是不需要长度
s2 := make([]int,3,5) //3是长度,5是容量 可以用len(s2) cap(s2) 取值
  1. Go语言中切片赋值
s1 := []int{1,2,3,4}
var s2 []int
s2=append(s2,1) //给s2增加一个元素,为啥用append然后再赋值给s2呢,按照我们的正常思维方式,应该是append(s2,1) 但是切片是动态扩展容量的,当容量不够时,他会新申请一块连续的内存,并把值拷贝带新内存里,所以要再赋值给s2
  1. Go语言中的切片是一块共享的存储结构
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值