栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

布尔(Booleans)类型

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

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

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

对于整数类型,它统一用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

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

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

byte是uint8的化名,两者完全等价。

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

uint与int类似只不过非负。

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

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

运算

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

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

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

复数类型

我也是今天才知道go居然有复数类型,分别是complex64和complex128。

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


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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737924.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号