【链块技术14期】区块链基础语言(六)——Go语言数据类型

 

 

原文链接:区块链基础语言(六)——Go语言数据类型

 

一、类型分类

数据类型分为基本类型和复合类型。

基本类型包含:布尔型、数值型(整数型、浮点型、复数型)、字符串型、函数型。函数型在函数章节再介绍。

复合类型包含:指针、数组、切片、字典、结构体、通道、接口。复合类型在后面章节再逐一介绍。

二、基本类型

在计算机信息技术中,字节是计量存储容量的一种计量单位,通常情况一字节有八位二进制数。而每个类型的值至少占一个字节的内存空间。

在Go语言中,当一个变量或者新值被创建时,如果没有为其明确指定初始值,则Go语言会自动针对此类型取默认值,此默认值就是零值。

 2.1 布尔型

注:a. 布尔型值只能是true或false,不可以用数字代

           替

       b. 布尔型值的零值为false

       c.  var是声明变量类型的关键词 。

 2.2 数值类型

2.21 分类

数值类型主要有四类:整数型、字符型、浮点型、复数型。

 

注:a.  int、uint、uintptr占据的内存空间大小和操作系统有关:若操作系统是32位,则占用4个字节;若操作系统是64位,则占用8个字节;

       b. 整数型和字符型的零值为0;浮点型的值有小数点,其零值为0.0;复数型的值有实部和虚部,其默认值为(0+0i)。

2.22 示例

   

 

 2.3 字符串类型

字符串由一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的,字节采用UTF-8编码标识的Unicode文本。

注:字符串的零值为“”,不是“ ”(即双引号中间没有空格)。

三、类型别名

类型别名,即给类型定义一个新的类型名。

                            

注:var是定义变量名的关键词,type是定义类型别名的关键词。

 

四、值类型和引用类型

公共语言运行库(Common Language Runtime,简称CLR)支持两种类型:值类型和引用类型。在Go语言里,引用类型包含:指针、切片、字典、通道、接口;基本类型(布尔型、数值型、字符串型、函数型)、数组、结构体均为值类型。

 4.1 值类型

值类型变量直接指向存在于内存中的值,当使用等号“=”将一个变量的值赋给另一个变量时,如j = i,实际上是在内存中将i的值进行了拷贝,如图1所示。

                                                                 

 4.2 引用类型

一个引用类型的变量j存储的是i的值所在的内存地址(数字)或连续内存单元的首地址,那么这个内存地址或连续内存单元的首地址被称之为指针,而j就是指针变量,如j=&i。

 

参考资料:

[1] 许式伟,吕桂华.Go语言编程[M].北京:人民邮电出版社,2012:24-25.

[2] https://studygolang.com/articles/9851

[3] http://www.runoob.com/go/go-data-types.html

 

链块学院:专注于区块链技术研发与教育

 

                                                                                   —————END—————

 

 

                                                               本文完,获取更多资讯,敬请关注区块链工程师。

                                                                           

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值