首页 > 其他 > 详细

GO-切片拷贝以及赋值

时间:2019-11-20 20:38:58      阅读:547      评论:0      收藏:0      [点我收藏+]

一.拷贝

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也发送改变

GO-切片拷贝以及赋值

原文:https://www.cnblogs.com/pythonywy/p/11900219.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!