本文主要是介绍golang-slice-从底层到使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Title
- 底层数据结构
- 概念
- 使用
- 增删改查
底层数据结构
// SliceHeader is the runtime representation of a slice.
// It cannot be used safely or portably and its representation may
// change in a later release.
// Moreover, the Data field is not sufficient to guarantee the data
// it references will not be garbage collected, so programs must keep
// a separate, correctly typed pointer to the underlying data.
type SliceHeader struct {Data uintptrLen intCap int
}
概念
引用类型数据,传参、赋值时,是对slice数据结构的拷贝,不会拷贝底层的数组,
使用
增删改查
// 定义初始化s := []int{1, 2, 3}//在下标范围内,未初始化的都是该类型零值s1 := []int{1: 5, 4: 10}//makes2 := make([]int, 3)fmt.Println(s, "\n", s1, "\n", s2)// 增s = append(s, 4)fmt.Println("增加", s)// 删除s = append(s[:0], s[1:]...)fmt.Println("删除", s)// 查fmt.Println(s[0])// 改s[0] = 100fmt.Println(s)//输出
[1 2 3] [0 5 0 0 10] [0 0 0]
增加 [1 2 3 4]
删除 [2 3 4]
2
[100 3 4]
这篇关于golang-slice-从底层到使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!