用户登录
用户注册

分享至

GO-切片拷贝以及赋值

  • 作者: 墨春秋灬
  • 来源: 51数据库
  • 2021-08-08

一.拷贝

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也发送改变
软件
前端设计
程序设计
Java相关