GO-切片拷贝以及赋值

一.拷贝

复制package main

import "fmt"

func main(){
	//copy函数,把一个切片copy到另一个切片之上
	var a [1000]int=[1000]int{0,1,2,3,4,5}
    
	b:=a[:4]
	c:=make([]int,4,4)
	copy(c,b)
	fmt.Println(c)
    
	c[1]=3
	fmt.Println(a)
}
// copy是将索引部分和值部分都在内存开辟了新的控件复制了两份,a与C没有关联关系,c变a也不会发送变化

二.赋值

复制package main

import "fmt"

func main(){
	var a [1000]int=[1000]int{0,1,2,3,4,5}
	b:=a[:4]
	c:=b
	fmt.Println(c)
	c[1]=3
	fmt.Println(a)
}
//只在内存开辟了一个索引区域,复制了一份但是同样还是指向a,所有此时c发送改变a也发送改变
posted @   小小咸鱼YwY  阅读(4637)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理

目录导航

点击右上角即可分享
微信分享提示