网站首页 返回列表 像“草根”一样,紧贴着地面,低调的存在,冬去春来,枯荣无恙。

Go 学习之路:引用类型与值类型

2020-06-10 04:04:32 admin 722

Golang中只有三种引用类型:slice(切片)、map(字典)、channel(管道);

引用类型

  • 引用类型理解为(C语言):指针

值类型

  • 值的拷贝

下面以值类型和slice(切片)例子可知:

__

  1. package main
  2. import "fmt"
  3. func main(){
  4. a := [5]int{2, 3, 4, 5, 6}
  5. b := a
  6. fmt.Println(a,b)
  7. b[2] = 77
  8. fmt.Println(a,b)
  9. }

上面定义了一个数组a,它是值类型,复制给b是copy,当b发生变化后a并不会发生任何变化,结果如下:

值类型

__

  1. package main
  2. import "fmt"
  3. func main(){
  4. a := []int{2, 3, 4, 5, 6}
  5. b := a
  6. fmt.Println(a,b)
  7. b[2] = 77
  8. fmt.Println(a,b)
  9. }

上面定义了一个数组a,它是引用类型(slice切片),被b引用(指针)后,当b发生变化后a也发生任何变化,结果如下:

引用类型

作者:不动峰
博客园:http://www.cnblogs.com/mylly/
版权所有,欢迎保留原文链接进行转载:)

转载文章,原文链接: Go 学习之路:引用类型与值类型

关键字词go与值

分享到:

如需留言,请 登录,没有账号?请 注册

0 条评论 0 人参与

顶部 底部