Go 语言基础 数组、切片、映射

2020-07-09 00:00:00 元素 数组 指针 映射 切片

友情提示:此篇文章大约需要阅读 5分钟14秒,不足之处请多指教,感谢你的阅读。 订阅本站

在 Go 语言中,为便于存储及管理用户数据,其数据结构设计分为数组 Array切片 Slice映射 Map 三种结构。

近期又看了 Go 语言基础的内容,看了一下这三种结构实现的原理:

数组 Array

  • 数组是切片和映射的基础数据结构;
  • 数组是长度固定的数据类型并且在内存中也是连续分配的,固索引数组数据速度非常快的;
  • 声明数组时需要指定数组存储的类型及数量(数组的长度);
  • 数组变量的类型包括数组长度和元素的类型,只有两部分都相同的数组才可相互赋值。

创建及初始化

一旦声明了数组,其本身的数据类型及长度都是不可以进行变更。

// 使用数组字面量声明数组
array := [5]int{1, 2, 3, 4, 5}

// 自动推导长度声明数组
array := [...]int{1, 2, 3, 4, 5, 6}
// 使用 ... 代替长度,根据初始化元素个数推导

// 声明数组并指定特定元素值
array := [5]int{1:10, 2:20}

相关文章