赞
踩
切片一般用于快速地操作一块数据集合(数据集合包括数组)。
切片(slice)是对数组一个连续片段的引用,所以切片是一个引用类型。
如果将数据集合比作蛋糕的话,切片就是你要的“那一块”。
切的过程包含从哪里开始(这个就是切片的地址)及切多大(这个就是切片的大小)。
容量可以理解为装切片的那个盘子的大小
var 切片名[]数据类型
var a []string //声明一个字符串切片
var b = []int{} //声明一个整型切片
切片默认指向一段连续内存区域,可以是数组,也可以是切片本身。
从连续内存区域生成切片是常见的操作,格式如下:
slice[开始位置:结束位置]
package main
import "fmt"
func main() {
var aa = [6]int{1, 2, 3, 4, 5, 6}
bb := aa[0:4] //切片,从数组aa[0]-aa[3]
fmt.Println(bb)
}
此时打印:
例如:切片[0:0]
如果需要动态地创建一个切片,可以使用make()内建函数
,格式如下:
make([]T,size,cap)
Go 语言并没有对删除切片元素提供专用的语法或者接口,需要使用切片本身的特性来删除元素。
代码如下:
package main
import (
"fmt"
)
func main() {
aa := []string{"a", "b", "c", "d", "e", "f"}
index := 3 //要删除元素的位置,我们要删除d
fmt.Println(aa[:index]) //表达式,要删除元素之前的所有元素
fmt.Println(aa[index+1:])//表达式,要删除元素之后的所有元素
aa = append(aa[:index], aa[index+1:]...)//用append函数拼接前后,完成删除
fmt.Println(aa)
}
输出如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。