[golang]给slice赋值或者遍历slice得到的结果不是预期结果

本文探讨了在Go语言中遇到的关于slice赋值和遍历时可能出现的非预期结果问题。重点在于理解slice内部存储的是指针地址而非变量值,导致在对slice操作时可能会出现意想不到的结果。通过示例分析了两种情况:一是直接赋值给slice时,二是使用range遍历slice时,揭示了这些现象背后的原理,并指出为何在不同情况下输出的值会有所差异。
摘要由CSDN通过智能技术生成

问题根源: 存的是指针(地址)还是变量值,变量值变化 != 地址变化

  1. 给slice赋值结果不预期示例
	var array []int // slice不初始化,需要结合append使用;直接使用会panic
	var pointerArray []*int
	for i := 0; i < 3; i++ 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值