主页 > 游戏开发  > 

Go入门之数组与切片

Go入门之数组与切片
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入门之数组与切片