码迷,mamicode.com
首页 > 其他好文 > 详细

[GO]切片

时间:2018-09-04 00:14:07      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:[]   span   col   port   常用   fun   print   区别   类型   

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

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]切片

标签:[]   span   col   port   常用   fun   print   区别   类型   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!