Golang的基本类型、引用类型、复合类型

1、基础内置类型

        包括数值类型、字符串类型、布尔类型、数组等除5种引用类型和复合类型外都是基础内置类型。当对这些类型的值进行增加或者删除的时候会创建一个新值,因此当把这些类型的值传递给方法或者函数时,传递的也是一个对应值的副本。

        对数值类型来说,零值是0;对字符串来说,零值是空字符串;对布尔类型,零值是 false。习惯是使用关键字 var创建变量并初始化零值,如果被初始化为非零值通常是用简短模式。

2、引用类型:

        五种引用类型变量:切片slice、映射map、通道channel、接口interface和函数类型func()
。引用类型其实是一个标头( header)值,里面包含一个指向底层数据结构的指针,因此通过复制传递一个引用类型的值的副本时,本质上是传递指针,还是共享底层的数据结构。

        引用类型作为参数时,称为浅拷贝,形参改变,实参数跟随变化.因为传递的是地址,形参和实参都指向同一块地址

        值类型作为参数时,称为深拷贝,形参改变,实参不变,因为传递的是值的副本,形参会新开辟一块空间,与实参指向不同

3、复合类型

        结构体和数组

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值