Go语言基础:变量与数据类型(二)

在我们的前一篇文章中,我们深入探讨了GO语言的变量及其命名和使用规范,为您的编程之旅奠定了坚实的基础。现在,让我们一同迈入GO语言的丰富世界,进一步揭示其数据类型的奥秘。

在这篇文章中,我们将全面展开对GO语言数据类型的探索和介绍。数据类型是编程语言的核心元素之一,它们不仅赋予了数据不同的含义和特性,而且决定了数据在内存中的存储方式和占用空间。

GO语言以其简洁而强大的数据类型系统而著称,旨在提供高效的内存管理和清晰的代码结构。我们将详细解析各种基础数据类型,包括但不限于布尔型、数值类型、字符串类型以及复合数据类型,让您充分理解它们的特性和应用场景。

一、整数型

Go语言的整数型主要包括以下几种:

1.有符号整数类型
  • int8:8位(1字节)有符号整数 ,范围为-128到127。
  • int16:16位(2字节)有符号整数,范围为-32768到32767。
  • int32:32位(4字节)有符号整数,范围为-2147483648到2147483647。
  • int64:64位(8字节)有符号整数,范围为-9223372036854775808到9223372036854775807。

2.无符号整数类型
  • uint8(也称为byte):8位(1字节)无符号整数,范围为0到255。
  • uint16:16位(2字节)无符号整数,范围为0到65535。
  • uint32:32位(4字节)无符号整数,范围为0到4294967295。
  • uint64:64位(8字节)无符号整数,范围为0到18446744073709551615。

下面用一串简单的代码来展示:

	//定义一个整数类型
	var num1 int8 = -23
	fmt.Println("num1:", num1) //-23

	var num2 uint8 = 200
	fmt.Println("num2:", num2) //200
	//var num2 uint8 = -20  溢出报错
3.其他整数类型:
  •  int:平台相关的有符号整数类型,其大小取决于编译目标架构。在大多数现代系统上,int通常是32位或64位。

  • uint:平台相关的无符号整数类型,其大小和int相同,取决于编译目标架构。
  • rune: 等价于int32 无符号整数
  • byte: 等价于uint8

PS:Golang的整数类型,默认声明为int类型

4.整数型使用原则:

在Golang程序的实践中,我们遵循一个关于整型变量使用的重要原则——保小不保大。这意味着在确保程序正常运行的前提下,我们应尽可能选择占用空间较小的数据类型

二、浮点类型

简单的说,就是用于存放小数值的。  

1.float32

  • float32是32位(4字节)的单精度浮点数,遵循IEEE 754标准。它能表示大约7个有效数字的精度,并且范围大致为±1.5 × 10^-45 到 ±3.4 × 10^38。

2.float64

  • float64是64位(8字节)的双精度浮点数,也遵循IEEE 754标准。它能表示大约15个有效数字的精度,并且范围大致为±5.0 × 10^-324 到 ±1.7 × 10^308。

在Go语言中,float64是默认的浮点数类型,除非特别指定为float32。选择float32还是float64主要取决于你的应用对精度和内存使用的需求。float64具有更高的精度但占用更多的内存,而float32则占用较少的内存但精度较低。

var num = 3.14
	fmt.Printf("num对应的默认类型为:%T", num)//num对应的默认类型为: float64

在处理浮点数时需要注意,由于浮点数的表示方式存在一定的误差,所以在进行比较和运算时需要考虑到这些误差,避免因为精度问题导致意外的结果。在需要高精度计算或者涉及货币等对精度要求较高的场景中,可能需要使用专门的高精度计算库。

下面来讲几个细节:

  • 浮点数可以用十进制表示形式,也可以用科学计数法表示形式,E不区分大小写

	var num float32 = 31e-2
	fmt.Println(num) //0.31

  • 浮点数可能会有精度的丢失,所以通常情况下建议使用float64

	var num1 float32 = 256.00000000916
	fmt.Println(num1) //256

	var num2 float64 = 256.00000000916
	fmt.Println(num2) //256.00000000916

由于篇幅的限制,本章的内容就分享到这里。若在阅读过程中发现任何错误,热切欢迎并诚挚邀请您指出,以便我们一起探讨和交流。您的反馈将是我改进和完善的重要动力。敬请期待后续更多的精彩内容。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值