一 用golang的for循环操作切片会有坑
1首先for循环的次数就是最开始切片的元素个数 不会因为之后在循环体里增加或者删除元素个素而变换
2如果在for循环里给切片增加了元素 那么之后不管是改变了切片里元素的值还是删除了元素,循环打印出来的值都是原先切片的值不会发生改变
3如果没有在for循环里增加元素,而且改变元素的值或者删除元素,那么循环打印出来的值就是最新的切片里的值,那么如果删除了元素,但是for循环的次数又等于最原先切片的元素的个数,这个时候是怎么样呢,这个时候打印出来的值还是最原先切片里对应索引的值
二 指针相关
大家可以看到将a1传入test后 在test修改a的值 a1的值也会改变,但要注意,a1和test中的a的这个变量本身的地址并不相同
所以假如在test中修改了a的指针,a1是不会有改变的