Go的基础(数据类型以及数据的存储(入门篇))

Go的数据类型

1.基本数据类型

  • bool布尔型(判断不是true就是false)
    其中布尔的值只可以是常量true或者false
  • Numerlc Types数值类型
    • 整数类型

         int8
        有符号8位整数(-128到127)
         int16
        	有符号16位整数(-32768到32767)			
         int32
         	有符号32位整数(-2147483648到2147483647)
         int64
         	有符号64位整数(-9223372036854775808到9223372036854775807)
         uint8
         	无符号8位整数(0到255)
         uint16
         	无符号16位整数(0到65535)
         uint32
         	无符号32位整数(0到4294967295)
         uint64
         	无符号64位整数(0到18446744073709551615)
      
    • 浮点数

        float32
        	IEEE-754 32位浮点型数
        float64
        	IEEE-754 64位浮点型数
        complex64
        	32位实数和虚数
        complex128
        	64位实数和虚数
      
    • 其他

         byte
         	类似uint8
         rune
         	类似int32
         unit和int
         	32或者64位取决于系统
         uintptr
         	无符号整型,用于存放一个指针
      
  • string字符串
    • 由多个byte组成的一个集合

计算机是如何进行寻址(重点)

再讲复合数据类型之前我们还要聊一聊计算机是如何查找数据的数据的存储方式才能更好的去理解数据类型的本质
对于计算机而言,cpu在运行时,读取内存数据,首先要指定存储单元的地址,就是要确实读写哪段数据
  • 存储单元的地址(地址信息)
    计算机的地址信息是通过地址总线寻址,指定存储单元,而最小的寻址单位是Byte和Byte的最小单位bit,1Byte=8
    bit(也就是说计算机会通过地址总线给每一个字节分配一个地址)
    然后我们从上所述就知道了基本的数据类型在内存中是一段存储空间(例如int8占八位),而类型决定了这段内存空间的大小,而在读取这段存储空间的时候通常是通过首个(Byte)字节的地址然后根据类型的步长来获取这段地址里面的数据

复合数据类型有

然后我们开始讲复合数据类型

  • array
    首先数组就是一个连续的相同类型的集合
var 变量名 [数组长度]类型

然后明确数组是不可变的线性存储方式(也就是说数组是不能在已有大小的基础上去扩容的)
原因也很简单,扩容就会造成内存泄漏

  • slice
    同数组类似,也叫作变长数组或者动态数组
    是一个引用类型的容器,指向了一个底层数组
  • map
  • function
  • pointer
  • struct
  • interface
  • channel
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值