package main
import "fmt"
func main() {
var a = [3]int{1,2,3}
//var b = [2]int{1,2}
//var c[3]int = [3]int{1,2,3}
//d :=[4]int{1,2,3,4}
//e :=[6]int{}
fmt.Println(a,a[0:2])
//切片从数组或者切片生成新的切片,顾头不顾尾
//slice[start:end]
/*
特性:1、取出元素到数量为 结束到位置-开始到的位置
2、取出元素不包括结束位置的索引(顾头不顾尾)
3、取出最后一个的元素使用slice(len(slice))
4、当缺开始当位置当时候,则表示从开头到结束位置
5、当没结束位置当话,则表示从开始位置到末尾
6、两者同时缺省,则与本身相等
7、两者同为0,则等效于空切片,一般用于切片复位。
*/
var highRiseBuilding[30]int
for i:=0;i<30 ;i++ {
highRiseBuilding[i] = i+1
}
//下标10-15
fmt.Println(highRiseBuilding[10:15])
//中间到末尾
fmt.Println(highRiseBuilding[20:])
//开始到第二个
fmt.Println(highRiseBuilding[:2])
g:=[]int{1,2,3}
fmt.Println(g[:])//全部复制
fmt.Println(g[0:0])//清空
//直接声明新的切片
var na []int//默认nil
var str []string//默认nil
//声明空切片
var numlistEmpty = []int{}
//输出3个切片
fmt.Println(str,na,numlistEmpty)
//输出3个切片大小
fmt.Println(len(na),len(str),len(numlistEmpty))
fmt.Println(na==nil)//true
fmt.Println(str==nil)//true
fmt.Println(numlistEmpty==nil)//false
//使用make()函数构造切片(动态构造一个切片)
//make([]type,size,cap)
//type类型 size分配元素个数,cap预分配的元素个数
ac :=make([]int,2)
ab :=make([]int,2,10)
fmt.Println(ab,ac)
fmt.Println(len(ab),len(ac))
//预分配10个使用2个
}
golang学习之路-19切片slice的使用
最新推荐文章于 2024-11-05 00:13:51 发布
本文深入探讨了Go语言中切片的使用方法和特性,包括切片的基本操作、如何通过切片访问数组元素,以及切片在不同场景下的应用。同时,文章还介绍了如何使用make函数动态创建切片。
1913

被折叠的 条评论
为什么被折叠?



