Go入门之数组与切片
- 游戏开发
- 2025-08-31 05:15:01

var arr1 = [...]int{1, 2, 3} fmt.Println(len(arr1))
数组长度不能扩展
var arr2 = [...]int{0: 100, 5: 101} fmt.Println(len(arr2)) }指定索引初始化
可以通过for和range遍历
值类型:基本数据类型和数组都是值类型,改变副本的值不会改变本身的值
切片为引用数据类型 改变副本会改变本身的值
var arr1 []int fmt.Println(arr1) fmt.Println(arr1 == nil) //go中切片为空默认值是nil a := [5]int{55, 56, 57, 58, 59} b := a[:] fmt.Printf("%v %T\n", b, b) c := a[2:4] fmt.Printf("%v %T\n", c, c) fmt.Printf("%d %d\n", len(c), cap(c))go中切片为空默认值是nil,可以基于数组定义切片,同样也可以基于切片定义切片,:表示所有元素,2:4表示索引2到3之间的元素。len为切片元素个数,cap为切片容量,它是第一个元素开始数,到其底层数组元素的个数
var slice = make([]int, 4, 8) fmt.Println(slice, len(slice), cap(slice)) slice = append(slice, 1) fmt.Println(slice, len(slice), cap(slice)) slice1 := []int{1} slice = append(slice, slice1...) fmt.Println(slice, len(slice), cap(slice))可以通过make指定初始切片的元素个数和容量,通过append增加或者合并两个切片
切片为引用数据类型,需要通过copy(目标切片,需要拷贝的切片)来复制
切片没有删除方法,可以通过切片的性质用append函数删除
sort.Ints(),sort.Float64s(),sort.Strings()进行升序排序
降序排序
Go入门之数组与切片由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Go入门之数组与切片”
上一篇
【算法】快排