Go 编程 range 有点坑

来源:互联网 发布:ntfs for mac序列号 编辑:程序博客网 时间:2024/05/19 23:15

func display(array []int) {for _, a := range array {fmt.Print(" ", a)}fmt.Println()}func main() {fmt.Println("Hello World!")nums := make([]int, 10, 20)for _, num := range nums {num++}fmt.Println("第一次赋值")display(nums)for i := 0; i < len(nums); i++ {nums[i]++}fmt.Println("第二次赋值")display(nums)}


输出:

c:/go/bin/go.exe build -gcflags "-N -l" [E:/go space/src/togo]

成功: 进程退出代码 0.

E:/go space/src/togo/togo.exe [E:/go space/src/togo]

Hello World!

第一次赋值

0 0 0 0 0 0 0 0 0 0

第二次赋值

1 1 1 1 1 1 1 1 1 1

成功: 进程退出代码 0.


说明range 只是将数组中的值拷贝出来,C/C++写习惯的表示刚开始很伤


0 0