Go语言内建方法之append && delete && copy
用来操作变量
slice -> append(添加一个元素)
代码语言:javascript复制 package main
import "fmt"
func main() {
appendElementSlice()
}
func appendElementSlice() {
mIDSlice := make([]string, 2) //要求较高的时候我们需要声明定长(避免操作内存),append会操作内存
mIDSlice[0] = "id-1"
mIDSlice[1] = "id-2"
fmt.Println("追加前的cap(容量)=",cap(mIDSlice)) //追加前的cap(容量)= 2
fmt.Print("n")
mIDSlice = append(mIDSlice,"id-3") //追加一个元素,扩容
fmt.Println(mIDSlice) //[id-1 id-2 id-3]
fmt.Print("n")
fmt.Println("len:",len(mIDSlice)) //len: 3
fmt.Print("n")
fmt.Println("追加后的cap(容量)=",cap(mIDSlice)) //追加后的cap(容量)= 4
}
slice -> copy(复制整个切片,有一定规则)
代码语言:javascript复制 package main
import "fmt"
func main() {
copyForSlice()
}
func copyForSlice() {
mIDSliceDst := make([]string, 3)
mIDSliceDst[0] = "id-dst-1"
mIDSliceDst[1] = "id-dst-2"
mIDSliceDst[2] = "id-dst-3"
mIDSliceSrc := make([]string, 2)
mIDSliceSrc[0] = "id-src-1"
mIDSliceSrc[1] = "id-src-2"
//目标源的长度大于被copy源的长度时取被copy源的长度的值替换相同key的value值
//目标源的长度小于被copy源的长度时取目标源的长度的值替换相同key的value值
copy(mIDSliceDst, mIDSliceSrc)
fmt.Println(mIDSliceDst) //[id-src-1 id-src-2 id-dst-3]
}
map -> delete (删除)
代码语言:javascript复制 package main
import "fmt"
func main() {
deleteFormMap()
}
//删除map中的数据
func deleteFormMap() {
mIDMap := make(map[int]string)
mIDMap[0] = "id-1"
mIDMap[1] = "id-2"
mIDMap[2] = "id-3"
fmt.Println(mIDMap) //map[0:id-1 1:id-2 2:id-3]
fmt.Print("n")
delete(mIDMap, 0) //删除指定下标的值
fmt.Println(mIDMap) //map[1:id-2 2:id-3]
}