首页 > 其他 > 详细

[GO]切片

时间:2018-09-03 23:23:38      阅读:123      评论:0      收藏:0      [点我收藏+]

比如这里要对一个数组进行切片

package main

import "fmt"

func main() {
  

  array := [...]int{10, 20, 30, 0, 0}   //三个点也可以不写
  slice := array[0:3:5]
  fmt.Println("slice = ", slice)
  fmt.Println("len = ", len(slice))
  fmt.Println("cap = ", cap(slice))


}

这里slice将会从array的第0个元素开始取,取到下标为3的元素,整个切片的容量为5-0=5个,长度为3-0=3个

结果为:

slice =  [10 20 30]
len =  3  //这里打印的是长度
cap =  5  //这里打印的是容量

 这里可以看得出来 ,数组与切片最大的区别就是在方括号里有没有固定长度,如果有那么这是一个数组,没有的话那就是一个切片

package main

import "fmt"

func main()  {
    a := [5]int{}      //这种方式最常用,为自动推导类型
    fmt.Printf("a len = %d, cap = %d\n ", len(a), cap(a))

    b := make([]int, 4, 4)  //使用make函数进行切片的创建,make(type, 长度,容量)
    fmt.Printf("b make len = %d, cap = %d\n ", len(b), cap(b))

    c := make([]int, 3)    //使用make函数,如果没有指定容量,那么它的默认值就跟长度相同
    fmt.Printf("c make len = %d, cap = %d\n ", len(c), cap(c))
}

 

[GO]切片

原文:https://www.cnblogs.com/baylorqu/p/9581708.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!