go学习笔记(3)基本类型和声明(2)

在这里插入图片描述

书接上回,昨天整理了一下go的字面量,今天来梳理一下go的基本类型中的布尔和数值类型。

布尔(Booleans)类型

bool类型没什么好说的,它只有两个值truefalse,它的零值为false

var flag bool // 如果没赋值则置为零值false
var isBeautiful = true
数值类型

go有12种不同的数值类型,它们分为三类:整型、浮点、复数。go的数值类型不像c语言那样用charshortintlongfloatdouble这类和操作系统位数相关的数值类型。

对于整数类型,它统一用int表示并在其后标示其位数。如下表:

类型名取值范围
int8-128 to 127
int16–32768 to 32767
int32–2147483648 to 2147483647
int64–9223372036854775808 to 9223372036854775807
uint80 to 255
uint160 to 65536
uint320 to 4294967295
uint640 to 18446744073709551615

对于浮点类型,它用float32float64表示32位和64位浮点数。如下表:

类型名最大绝对值最小非零绝对值
float323.40282346638528859811704183484516925440e+381.401298464324817070923729583289916131280e-45
float641.797693134862315708145274237317043567981e+3084.940656458412465441765687928682213723651e-324
几个特别的整数类型

byteuint8的化名,两者完全等价。

int在32位系统上是int32在64位系统上是int64,因此当intint32int64的变量在赋值比较或数学计算时会出现编译错误。go语言不支持变量间的隐式类型转换,这也是我很喜欢go语言的一个点,go直接把很多语法语义上容易出错的写法禁止了,虽然不那么方便了,但是使代码更清晰了。

uintint类似只不过非负。

整数字面量默认是int类型。

runeuintptr也是两个特别的整数类型,以后再介绍它们。

运算

go的数值运算和其他语言类似。

整数不能除0,浮点数除0会得到+Inf-Inf,而浮点0除0会得到NaN

浮点数的比较是不精确的。

复数类型

我也是今天才知道go居然有复数类型,分别是complex64complex128

感觉这个类型可能永远也用不到,就不学它了😊。


欢迎关注我的微信公众号 江达小记

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江达小记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值