这是golang编译器问题还是我理解错了

TonoT · · 1103 次点击
.... 问题不在for range啊 slice本身是个模拟出来的类型。 它代表的是array的一部分,array中指定的一块。 大概是 slice所属的array,slice对应的开始下标,slice对应的结束下标 cap本质就是array的最大范围 append做的是将slice 的下标向后移动若干位并插入数据。 如果cap不足(array不够大),那么就创建一个一个新的array,并将slice所属的array/下开始下标/结束下标转过去。 所以,append正常情况下,只能将append的值设到append的第一个参数上。不然一旦发生数据迁移,就会出问题。
#4
更多评论
s := append(r, v) 你需要了解下append的用法……
#1
再看了下代码,你还需要知道slice到底是什么,和array的关系
#2