本文已参加「新人创作礼」活动,一起开启掘金创作之路。
让我们直接上代码
1
func main() {
var a = [5]int{1, 2, 3, 4, 5}
var r [5]int
for i, v := range a {
if i == 0 {
a[1] = 12
a[2] = 13
}
r[i] = v
}
fmt.Println("r = ", r)
fmt.Println("a = ", a)
}
问: 输出是什么??
涉及到的知识点:
-
for range 循环 会拷贝
-
数组与切片之间的联系
答案评论区见
我们继续探讨
2
func main() {
var a = [5]int{1, 2, 3, 4, 5}
var r [5]int
for i, v := range &a {
if i == 0 {
a[1] = 12
a[2] = 13
}
r[i] = v
}
fmt.Println("r = ", r)
fmt.Println("a = ", a)
}
这次的输出呢??
嘿嘿~~ 我们继续
3
func main() {
var a = []int{1, 2, 3, 4, 5}
var r [5]int
for i, v := range a {
if i == 0 {
a[1] = 12
a[2] = 13
}
r[i] = v
}
fmt.Println("r = ", r)
fmt.Println("a = ", a)
}
这回呢??
差不多了,这三种情况摸清楚了,基本就OK了