加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

GO-切片拷贝以及赋值

发布时间:2020-12-16 09:19:51 所属栏目:大数据 来源:网络整理
导读:一.拷贝 package mainimport "fmt"func main(){//copy函数,把一个切片copy到另一个切片之上var a [1000]int=[1000]int{0,1,2,3,4,5} b:=a[:4]c:=make([]int,4)copy(c,b)fmt.Println(c) c[1]=3fmt.Println(a)}// copy是将索引部分和值部分都在内存开辟了新的

一.拷贝

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)
	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,5}
	b:=a[:4]
	c:=b
	fmt.Println(c)
	c[1]=3
	fmt.Println(a)
}
//只在内存开辟了一个索引区域,复制了一份但是同样还是指向a,所有此时c发送改变a也发送改变

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读