LiSheng's blog LiSheng's blog
首页
笔记
个人简历
随笔集
GitHub (opens new window)
首页
笔记
个人简历
随笔集
GitHub (opens new window)
  • golang

    • 并发编程

      • GMP并发模型
      • 锁相关
      • groutine并发相关
      • go如何实现原子操作
    • 内存管理

    • 数组和切片的区别
      • 相同点:
      • 区别:
    • new和make
    • go defer
    • context
    • channel
    • go map
    • interface
    • 对象系统
    • rune 类型
    • 字符串拼接的几种方式
  • cplus

  • leetcode

  • 存储技术

  • 分布式系统

  • 计算机网络

  • Linux操作系统

  • Redis

  • 其他

  • 笔记
  • golang
lisheng
2024-09-10
目录

数组和切片的区别

# 相同点:

  1. 只能存储一组相同类型的数据结构
  2. 都是通过下标来访问,并且有容量长度,长度通过 len 获取,容量通过 cap 获取

# 区别:

  1. 数组是定长,访问和复制不能超过数组定义的长度,否则就会下标越界,切片长度和容量可以自动扩容
  2. 数组是值类型,切片是引用类型,每个切片都引用了一个底层数组,切片本身不能存储任何数据,都是这底层数组存储数据,所以修改切片的时候修改的是底层数组中的数据。切片一旦扩容,指向一个新的底层数组,内存地址也就随之改变
编辑 (opens new window)
上次更新: 2024/09/13, 11:59:12
内存相关
new和make

← 内存相关 new和make→

最近更新
01
ceph分布式存储-对象存储(RGW)搭建
10-27
02
ceph分布式存储-集群客户端连接
10-27
03
ceph分布式存储-管理crushmap
10-27
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式