題目
寫出下面兩個程序的輸出結果:
1.
package main
import "fmt"
func main() {
a := [3]int{1, 2, 3}
for k, v := range a {
if k == 0 {
a[0], a[1] = 100, 200
fmt.Print(a)
}
a[k] = 100 + v
}
fmt.Print(a)
}
2.
package main
import "fmt"
func main() {
a := []int{1, 2, 3}
for k, v := range a {
if k == 0 {
a[0], a[1] = 100, 200
fmt.Print(a)
}
a[k] = 100 + v
}
fmt.Print(a)
}
運行結果:
1.
2.
可以看到的是是一個指向數組的指針,那麼在修改slice的時候會改變數組的值。
和數組區別
數組傳的是值,不會改變元素的值。
轉載,侵刪。
參考鏈接:
https://blog.csdn.net/bobodem/article/details/80187558