Golang 中国

先看如下代码:
buf := make([]byte, 100, 200)
sub_buf := buf[50:60]

给你sub_buf, 你能访问到buf里的数据吗? 比如buf[0:50]

3 回复
duanquanyong
#1 duanquanyong • 2018-10-08 09:28

p8dewpe947
#2 p8dewpe947 • 2018-10-11 12:01

unsafe

456vv
#3 456vv • 2018-10-12 22:35

改写后,你就智道了。
读取的时候是引用,写的时候是创建。
var b = []byte{1,2,3,4,5,6,7,8,9,0}
var c = b[3:4]
c =[]byte{1,1}
b[3]=0
fmt.Println(b,c)
//[1 2 3 0 5 6 7 8 9 0] [1 1]

需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。