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

Golang数据类型 切片(slice)

时间:2020-03-24 10:55:19      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:自定义   cap   target   tar   UNC   前言   strong   ref   nbsp   

前言

Go中的数组数据类型的长度在声明的时候就已经固定了,切片是基于数组实现的 可变长度的容器。

 

 

切片的定义和初始化

切片类型和数组类型一样,想要使用,就必须要定义和初始化,不同之处已经提到,切片不需要指定切片的长度。

 

1.自定义切片

package main

import (
	"fmt"
)

func main() {
	//切片的定义
	var s1 []int //存放元素不限定,仅限定数据类型
	var s2 []string
	fmt.Println(s1 == nil) //在初始化之前切片的值=nil
	fmt.Println(s2 == nil)
	//切片的初始化
	s1 = []int{1, 2, 3}
	s2 = []string{"刘德华", "郭富城", "黎明", "梁朝伟"}
	//切片的长度和容量
	fmt.Printf("长度:%d 容量:%d", len(s1), cap(s1))
}

  

2.由数组得到切片

 

package main

import (
	"fmt"
)

func main() {

	a1 := [...]int{1, 2, 3, 4, 5, 6, 69}
	s1 := a1[0:2]
	s2 := a1[:4]
	s3 := a1[2:]
	s4 := a1[:]
	fmt.Println(s1, s2, s3, s4)
	//切片的容量:是指底层数组的从切边的第1个元素-----》最后1个元素的数量
	fmt.Printf("切片的长度:%d 切片的容量:%d\n", len(s1), cap(s1))
	fmt.Printf("切片的长度:%d 切片的容量:%d\n", len(s2), cap(s2))
	fmt.Printf("切片的长度:%d 切片的容量:%d\n", len(s3), cap(s3))

}

  

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

see also

Golang数据类型 切片(slice)

标签:自定义   cap   target   tar   UNC   前言   strong   ref   nbsp   

原文地址:https://www.cnblogs.com/sss4/p/12557081.html

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