这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记
在Golang中数组与切片的异同
slice 的底层数据是数组,slice 是对数组的封装,它描述一个数组的片段。两者都可以通过下标来访问单个元素。
数组是定长的,长度定义好之后,不能再更改。在 Go 中,数组是不常见的,因为其长度是类型的一部分,限制了它的表达能力,比如 [3]int 和 [4]int 就是不同的类型。
可以通过代码查看[3]int和[4]int不是一种类型
func main() {
var a [3]int
var b [4]int
fmt.Printf("%T %T\n", a, b)
fmt.Println(reflect.TypeOf(a) == reflect.TypeOf(b))
}
输出:
[3]int [4]int
false