(一)
1.在range中修改切片:
1 n := []int{1,2,3,4,5,6}
2 for i, e := range n{
3 if i == len(n)-1 {
4 n[0] += e
5 } else {
6 n[i+1] += e
7 }
8
9 }
10 fmt.Println("n:", n)
输出:
n: [22 3 6 10 15 21]
2.在range中修改数组:
1 n := [...]int{1,2,3,4,5,6}
2 for i, e := range n{
3 if i == len(n)-1 {
4 n[0] += e
5 } else {
6 n[i+1] += e
7 }
8
9 }
10 fmt.Println("n:", n)
输出:
n: [7 3 5 7 9 11]
range表达式会在for语句开始执行时被求值一次。求值的结果值被传递出来,是值传递(复制)。由于切片是引用类型,所以可以跟随变化。
(二)
func str() {
a := "你好123"
for i, v := range a {
fmt.Println("i:",i, ", v:", v)
}
b := []rune(a)
fmt.Println("b:", b)
}
输出:
i: 0 , v: 20320
i: 3 , v: 22909
i: 6 , v: 49
i: 7 , v: 50
i: 8 , v: 51
b: [20320 22909 49 50 51]
【迁移】www.cnblogs.com/zxq89/p/166… posted @ 2022-09-05 15:42