go 切片,集合简单讲解
arr := []int{
1, 2, 3, 4, 5,
}
//添加
arr = append(arr, 0, 1)
//翻转
arr = reverse(arr)
//切片会自动取址 所以需要copy函数
arr2 := arr
arr[0] = 99
//example
//申明初始长度和最大容度 可以复制
arr3 := make([]int, 10, 10)
//普通申明的复制失败
var arr4 []int
copy(arr3, arr2)
copy(arr4, arr2)
arr[0] = 22
//var arr = make([]string, 1, 5)
fmt.Println(arr2, arr3, arr4)
for _, item := range arr2 {
fmt.Print(item)
}
fmt.Println()
//申明集合 建议是用Make
obj := make(map[string]string)
obj["name"] = "jump"
obj["sex"] = "boy"
for index, item := range obj {
fmt.Println(index, item)
}
//删除对应key
delete(obj, "sex")
for index, item := range obj {
fmt.Println(index, item)
}
//判断是否存在Key
v, ok := obj["sex"]
if ok {
fmt.Println(v)
} else {
fmt.Println(ok)
}