切片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后的数组没有任何关系

posted @   suknna  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示