当前位置: 移动技术网 > IT编程>脚本编程>Go语言 > GO-切片拷贝以及赋值

GO-切片拷贝以及赋值

2019年11月21日  | 移动技术网IT编程  | 我要评论
一.拷贝 二.赋值 ...

一.拷贝

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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网