您的位置:首页 > 编程语言 > Go语言

go语言的string和slice是值拷贝吗?

2016-03-18 12:06 579 查看
package main

import "fmt"

func main() {
var str string = "12345"
tmpstr := str
fmt.Printf("%x %x\n", str, tmpstr)
tmpstr = tmpstr + "x"
fmt.Printf("%x %x\n", str, tmpstr)

var a []byte = []byte("12345")
b := a
fmt.Printf("%x %x\n", a, b)
b = append(b, 'a')
fmt.Printf("%x %x\n", a, b)
}


应该是指针拷贝,

上面的输出是

3132333435 3132333435

3132333435 313233343578

3132333435 3132333435

3132333435 313233343561

前面两个是一样的,说明并不是值拷贝。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: