Go语言之初识切片和数组

2020-07-09 00:00:00 数组 底层 长度 容量 切片

Go语言之初识切片和数组

1. 数组

学Go语言之前我已经多年没有看过数组了,和数组打交道也是用Java的ArrayList,虽然底层是用数组实现的,但是全部的接口都是List的。

数组一度被我认为是一种落后的数据结构了,在我用Python写数据库小工具的时候也是喜欢用list的,我甚至不知道Python是否支持数组。

数组,在C语言中简直就是个魔鬼,因为数组和指针那么的浑然天成...

不过学习Go,很多资料都会着重的讲述数组,这是因为数组是切片和映射的基础数据结构,是很重要的东西。

数组,在Go语言中是一种长度固定的数据类型,而且在内存中是连续分配的,检索速度也是很快的。

//初学习C语言的时候,数组总是这样声明
var array [5]int

//还有这种声明方式
var array = [5]int{1,2,3,4,5}

//Go语言还能自动推断
array := [5]int{1,2,3,4,5}

//当然我不想数有多少个元素
array =: [...]int{1,2,3,4,5}

相关文章