首页 > 技术文章 > go 创建切片

dqh123 2019-12-21 10:46 原文

package main

import "fmt"

func main()  {
      //自动推导类型,同时进行初始化
     s1 := []int{1,2,3,4}
     fmt.Println("s1=",s1)

     //借助make的方式创建切片(类型 长度 容量)
     s2 := make([]int,5,10)
     fmt.Println(s2)
     fmt.Printf("len=%d,cap=%d\n",len(s2),cap(s2))

     //如果没有指定容量  容量和长度一样
    s3 := make([]int,5)
    fmt.Printf("len=%d,cap=%d\n",len(s3),cap(s3))

}

 

切片(slice)是 Golang 中一种比较特殊的数据结构,这种数据结构更便于使用和管理数据集合。
切片是围绕动态数组的概念构建的,可以按需自动增长和缩小。
切片的动态增长是通过内置函数 append() 来实现的,这个函数可以快速且高效地增长切片,也可以通过对切片再次切割,缩小一个切片的大小。因为切片的底层也是在连续的内存块中分配的,所以切片还能获得索引、迭代以及为垃圾回收优化的好处


推荐阅读