当前第2页 返回上一页
1 2 3 4 5 6 7 8 9 | numbers := [...]int{1, 2, 3, 4, 5, 6}
for i, e := range numbers {
if i == len(numbers)-1 {
numbers[0] += e
} else {
numbers[i+1] += e
}
}
fmt.Println(numbers)
|
结果为:
显而易见:遍历完后,数组中的每个元素都变成了当前元素和前一个元素的和;切片中也是这样,只不过每个元素都变成了前一个元素改变后的值和当前元素的和。
分析:for循环时,numbers中的元素是{1,2,3,4,5,6}。接收for循环的变量为i和e,i都是[0,1,2,3,4,5]。 而e不同,数组为值传递,所以遍历数组时,e为{1,2,3,4,5,6}; 切片传递的是指针,所以每次累加,都是改变后的值来累加。
以上就是golang数组与切片的区别是什么?的详细内容,更多文章请关注木庄网络博客!!
返回前面的内容
相关阅读 >>
golang语言学习之go语言变量
golang如何连接mysql
手撸golang go与微服务 net.rpc之2
go-carbon1.3.3版本发布了
golang中fscanf读取文件时把回车替换成0
golang有类(class)吗?
go实现ssh远程执行命令
18 golang结构体详解(四)
golang版本1哪年发明的
golang 和 php 哪个性能更强?
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » golang数组与切片的区别是什么?