菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
3105
0

切片(Slice) 切片是拥有相同类型元素的可变长度

原创
05/13 14:22
阅读数 1796

切片(Slice)

切片是拥有相同类型元素的可变长度的序列,Slice 通常写成 []T, T 代表元素类型。

  • 数组和切片是紧关联
  • 每个 Slice 都有一个底层数组,用来提供 Slice 的访问
  • Slice 拥有三个属性:指针长度,容量

声明

number := make([]string, 3, 10) // 初始化一个长度为 3, 容量为 10 的字符串切片

访问

l := len(number) // 访问长度 3
c := cap(number) // 访问容量 10

追加

number = append(number, "one")
fmt.Println(len(number)) // 长度 4

注意这里是追加,所以长度才会变为 4,因为在切片已经初始化了三个值。如果你想要填充前三个空位,可以用下标访问赋值

比较

切片唯一允许的比较操作是和 nil 做比较

fmt.Println(len(number) == 0) // false
fmt.Println(number == nil) // false
fmt.Println(number[0] == "") // true
var empty []string
fmt.Println(empty == nil) // true

发表评论

0/200
3105 点赞
0 评论
收藏
为你推荐 换一批