Go的100天之旅-04基础数据类型
2024-10-09 04:04:44
基础数据类型
在变量的定义中,我们讲了每个变量是有类型的,类型在计算机中是用来约束数据的解释。Go语言和其它计算机语言一样,提供丰富了丰富的数据类型,我们就来看看到底有哪些类型,同时也可以比较一下它和其它语言的区别。
整型
整型就是用来表示变量是整数的类型。和C
类似,Go
整型分为两个大类,无符号和有符号的,有符号简单来说就是能表示负数的类型,无符号就是这个类型没有正负号,统一表示整数。除了符号还有一点就是长度,因为符号和长度就决定了整型的范围。下面是Go
整型的分类:
类型 | 说明 | 范围 |
---|---|---|
int | 整型,长度和平台机器字节大小相关一般32或者64位 | 和字节码相关 |
uint | 无符号整型,长度和平台机器字节大小相关一般32或者64位 | 和字节码相关 |
int8 | 有符号8位整型 | -128 ~ 127 |
uint8 | 无符号8位整型 | 0 ~ 255 |
int16 | 有符号16位整型 | -32768 ~ 32767 |
uint16 | 无符号16位整型 | 0 ~ 65535 |
int32 | 有符号32位整型 | -2147483648 ~ 2147483647 |
uint32 | 无符号32位整型 | 0 ~ 4294967295 |
int64 | 有符号64位整型 | -9223372036854775808 ~ 9223372036854775807 |
uint64 | 无符号64位整型 | 0 ~ 18446744073709551615 |
浮点类型
Go
有两种浮点类型,float32
和float64
,它们都符合IEEE754
规范的定义。讲到浮点类型不得不提到的就是精度,float32
大概提供6位的精度误差,而float64
提供约15位的精度误差。
例如下面的代码:
package main
import "fmt"
func main() {
var i float32 = 10
var j float32 = 10.0000000001
var m float64 = 10
var n float64 = 10.0000000001
fmt.Println(i == j)
fmt.Println(m == n)
}
打印的是:
true
false
因此在平时的使用中需要注意精度的问题。除了直接用小数的形式,还可以用科学计数法,例如
var i float32 = 10e-2 // 0.01
布尔型
布尔类型一共有2种:true
和false
,通常用进行逻辑判断的
复数
复数在通常用的不是很多,在数学上的定义,复数有实部和虚部。Go
提供了两种精度的复数类型,complex64
和complex128
分别对应了float32
和float64
的精度。
var x complex128 = complex(1, 2) // 1+2i
var y complex128 = complex(3, 4) // 3+4i
i := 1 + 2i
j := 3 + 4i
上面是复数的写法,分别指定它们的实部和虚部就行了。复数也可以比较是否相等
i := 1 + 2i
j := 1 + 3i
fmt.Println(i == j)
但是必须实部和虚部都相同才为true
最新文章
- sql语句的单双引号问题
- pyqt4:连接的一个带有参数的方法
- 简介 – ASP.NET MVC 4 系列
- vbs下载文件
- 利用 Python 只连接一次 MySQL
- 【niubi-job——一个分布式的任务调度框架】----niubi-job这下更牛逼了!
- (翻译)初学者的object-C指南
- UIAlertView用法
- ios常用的一些类库
- js移动设备手机跳转地址代码
- pen: Local Testing
- Mac OS X Shell 脚本和终端命令
- android R 文件 丢失的处理 如何重新生成
- UIWindow 详解
- iphone分辨率终极指南(含有iphone6/6+)
- 20162330 实验三 《敏捷开发与XP实践》 实验报告
- 20175208『Java程序设计』课程 结对编程练习_四则运算
- Django之静态文件配置
- 【Qt】QLabel实现的圆形图像
- Android 实现 WheelView
热门文章
- mysql explain的extra
- 面向对象存储框架:Obase快速入门
- keycode 大全:
- opencv C++ Mat构造函数
- Github删除分支下所有提交记录
- 图解resilience4j容错机制
- 全宇宙首本 VS Code 中文书,来了!
- Spring 获取单例流程(三)
- 大厂程序员因厌恶编程,辞去月薪2w+的工作去当司机?
- struts2+hibernate+spring简单整合且java.sql.SQLException: No suitable driver 问题解决