切片copy()复制
定义一个切片
package main
import "fmt"
func main() {
a1 := []int{1, 2, 3, 4}
a2 := a1
fmt.Printf("a1:=%d\na2:=%d", a1, a2)
}
go语言内建的copy()函数可以迅速地将一个切片数据复制到另外一个切片空间中,copy()函数的使用格式如下:
copy(目标切片,数据来源切片)
package main
import "fmt"
func main() {
a1 := []int{1, 2, 3, 4}
a2 := a1
a3 := make([]int, 4, 4)
copy(a3, a1)
fmt.Printf("修改前的数据:\na1=%d\na2=%d\na3=%d\n", a1, a2, a3)
//修改a1[0]的数据为1000再次打印a1,a2,a3查看数据是否一致
a1[0] = 100
fmt.Printf("修改后的数据:\na1=%d\na2=%d\na3=%d", a1, a2, a3)
}
我们发现copy只复制源数组的值,源数组发生修改和copy后的数组没有任何关系
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」