切片
copy()
Go语言内建的copy()函数可以迅速地将一个切片的数据复制到另外一个切片空间中,copy()函数的使用格式如下:
copy(destSlice, srcSlice []T)
destSlice: 目标切片
srcSlice: 数据来源切片
删除元素
要从切片a中删除索引为index的元素,操作方法是a = append(a[:index], a[index+1:]...)
map
map是key-value数据结构,又称为字段或者关联数组,类似其他编程语言的集合,在编程中经常使用到map集合。map是引用类型,必须初始化才能使用。
数据类型
map[keyType]valueType
keyType:键的类型
valueType:键对应的值的类型
key和value可以是bool、数字、string、指针、channnel,还可以是包含前几个类型的接口,结构体,数组,但是不可以是slice、map、function
构造
make()
格式:
var name = make(map[keyType]valueType,count)
name:map名称
keyType:键的类型
valueType:键对应的值的类型
count:map长度(可写可不写)
var m = make(map[string]int, 10)
m["yi"] = 1
m["er"] = 2
在声明时加入元素
格式:
var name = map[keyType]valurType{
key1 :value1
key2:value2
……
}
var m2 = map[string]int{
"yi": 1,
"er": 2,
"san": 3,
}
判断map中是否存在某键
value,ok := m2[“yi”]
若存在则ok为true,value返回m2[“yi”],若不存在则ok返回false,value返回类型的零值(默认值)
遍历
用for range遍历就可
删除键值对delete()
格式:delete(map,key)
map:要删除键值对的map
key:要删除的键值对的键
按照指定顺序遍历map
使用for range遍历,将i(也就是键)一个一个存入一个切片,通过遍历切片来按顺序遍历键值对