下面以值類型和slice(切片)例子可知:數組
package main import "fmt" func main(){ a := [5]int{2, 3, 4, 5, 6} b := a fmt.Println(a,b) b[2] = 77 fmt.Println(a,b) }
上面定義了一個數組a,它是值類型,複製給b是copy,當b發生變化後a並不會發生任何變化,結果以下:
spa
package main import "fmt" func main(){ a := []int{2, 3, 4, 5, 6} b := a fmt.Println(a,b) b[2] = 77 fmt.Println(a,b) }
上面定義了一個數組a,它是引用類型(slice切片),被b引用(指針)後,當b發生變化後a也發生任何變化,結果以下:
指針
做者:不動峯
博客園: http://www.cnblogs.com/mylly/ 版權全部,歡迎保留原文連接進行轉載:)