Go语言支持整型和浮点型数字,并且原生支持复数,其中位的运算采用补码。

Go也有基于架构的类型,例如:int、uint和uintptr。

这些类型的长度都是根据运行程序所在的操作系统类型所决定的:

  • int和unit在32位操作系统上,它们均使用32位(4个字节),在64位操作系统上,它们均使用64位(8个字节)。
  • uintptr的长度被设定为足够存放一个指针即可。

Go语言中没有float类型。(Go语言中只有float32和float64)没有double类型。

与操作系统架构无关的类型都有固定的大小,并且在类型的名称中就可以看出来:

int型是计算最快的一种类型。

整型的零值为0,浮点型的零值为0.0

package mainimport ("fmt""math""unsafe"
)func main() {var i8 int8var i16 int16var i32 int32var i64 int64var ui8 uint8var ui16 uint16var ui32 uint32var ui64 uint64fmt.Printf("%T %dB %v~%v\n", i8, unsafe.Sizeof(i8), math.MinInt8, math.MaxInt8)     //int8 1B -128~127fmt.Printf("%T %dB %v~%v\n", i16, unsafe.Sizeof(i16), math.MinInt16, math.MaxInt16) //int16 2B -32768~32767fmt.Printf("%T %dB %v~%v\n", i32, unsafe.Sizeof(i32), math.MinInt32, math.MaxInt32) //int32 4B -2147483648~2147483647fmt.Printf("%T %dB %v~%v\n", i64, unsafe.Sizeof(i64), math.MinInt64, math.MaxInt64) //int64 8B -9223372036854775808~9223372036854775807fmt.Printf("%T %dB %v~%v\n", ui8, unsafe.Sizeof(ui8), 0, math.MaxUint8)            //uint8 1B 0~255fmt.Printf("%T %dB %v~%v\n", ui16, unsafe.Sizeof(ui16), 0, math.MaxUint16)         //uint16 2B 0~65535fmt.Printf("%T %dB %v~%v\n", ui32, unsafe.Sizeof(ui32), 0, math.MaxUint32)         //uint32 4B 0~4294967295fmt.Printf("%T %dB %v~%v\n", ui64, unsafe.Sizeof(ui64), 0, uint64(math.MaxUint64)) //uint64 8B 0~18446744073709551615var f32 float32var f64 float64fmt.Printf("%T %dB %v~%v\n", f32, unsafe.Sizeof(f32), -math.MaxFloat32, math.MaxFloat32) //float32 4B -3.4028234663852886e+38~3.4028234663852886e+38fmt.Printf("%T %dB %v~%v\n", f64, unsafe.Sizeof(f64), -math.MaxFloat64, math.MaxFloat64) //float64 8B -1.7976931348623157e+308~1.7976931348623157e+308var ui uintui = uint(math.MaxUint64)                                  //再+1会导致overflows错误fmt.Printf("%T %dB %v~%v\n", ui, unsafe.Sizeof(ui), 0, ui) //uint 8B 0~18446744073709551615var imin, imax intimin = int(math.MinInt64)imax = int(math.MaxInt64)fmt.Printf("%T %dB %v~%v\n", imax, unsafe.Sizeof(imax), imin, imax) //int 8B -9223372036854775808~9223372036854775807
}

输出结果如下图所示:

以二进制、八进制或十六进制浮点数的格式定义数字

package mainimport "fmt"func main() {// 十进制var a int = 10fmt.Printf("%d \n", a) //10fmt.Printf("%b \n", a) //1010 占位符 %b 表示二进制//八进制var b int = 077fmt.Printf("%o \n", b) //77//十六进制var c int = 0xfffmt.Printf("%x \n", c) //fffmt.Printf("%X \n", c) //FF
}

浮点型

Go语言支持两种浮点型数:float32和float64。这两种浮点型数据格式遵循IEEE 754标准:float32的浮点数的最大范围约3.4e38,可以使用常量定义:math.MaxFloat32。

打印浮点数时,可以使用fmt包配合动词%f,代码如下:

package mainimport ("fmt""math"
)func main() {fmt.Printf("%f\n", math.Pi)//3.141593fmt.Printf("%.2f\n", math.Pi)//3.14
}

复数

complex64和complex128

复数有实部和虚部,complex64的实部和虚部为32位,complex128的实部和虚部为64位

package mainimport ("fmt"
)func main() {var c1 complex64 = 1 + 2ivar c2 complex128 = 2 + 3ifmt.Println(c1)fmt.Println(c2)
}

11——go语言数字类型相关推荐

  1. 08:go语言数字类型

    go语言数字类型 Go语言支持整型和浮点型数字,并且原生支持复数,其中位的运算采用补码 go也有基于架构的类型,例如:int.uint和uintptr 这些类型的长度根据运行的程序所处的操作系统类型所 ...

  2. Go语言自学系列 | go语言数字类型

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  3. python语言的数字类型_Python的数字有哪些类型

    Python的数字有哪些类型 发布时间:2020-09-10 17:40:11 来源:亿速云 阅读:83 这篇文章运用简单易懂的例子给大家介绍Python的数字有哪些类型,代码非常详细,感兴趣的小伙伴 ...

  4. python语言提供的3个基本数字类型是什么_计算机二级python学习教程(3) python语言基本数据类型...

    本文继续计算机二级python教程的学习,之前已经学习过了计算机二级python学习教程(1) .计算机二级python学习教程(2) 3.1 数字类型 数字类型:整数类型.浮点数类型.复数类型. 整 ...

  5. python语言的三种数字类型_Python语言中的类型之数字类型--Python(10)

    数据从不一样的角度能够用不一样的含义去解释它,如: 10,011,101 对上面这个数据,咱们有以下多种含义去解释它: 1)它是1个二进制数字,或者是1个十进制数字: 2)一段文本: 3)用 , 号分 ...

  6. python提供数字类型包括_Python 语言提供的 3 个基本数字类型是( )_学小易找答案...

    [论述题]请以<我的爸爸妈妈>为题,写一篇作文,向大家介绍自己的爸爸和妈妈. [单选题]初孕妇,妊娠34周,血液检查中下列描述不符合正常妊娠生理特点的是( ) [填空题]汽缸垫的作用是保证 ...

  7. python 语言教程(3)变量之数字类型

    1. 支持四种不同的数字类型 int(有符号整型) long(长整型,也可以代表八进制和十六进制) float(浮点型) complex(复数) 1.1 实例 一些数值类型的实例 int long f ...

  8. 智能合约语言Solidity 类型介绍

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 智能合约语言Solidity 类型介绍11 Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合 ...

  9. python数字类型-Python数字类型及其操作

    数字类型 Python 语言提供了3种数字类型:整数.浮点数和复数. 布尔型 In addition, Booleans are a subtype of integers. 整数类型(int)与数学 ...

最新文章

  1. android 混淆打包教程,Android studio 混淆打包
  2. ajax function不执行,ajax的success: function (data)不执行怎么回事?
  3. mysql5.6最好的备份方案_Mysql 5.6迁移至PostgreSQL 9.6的实践小结
  4. sql语句ding_mybatis plus 写sql语句
  5. 2020年首届算法竞赛网络挑战赛直播讲解课程
  6. android 自动挂断,[转]android 来电自动接听和自动挂断
  7. 李洋疯狂C语言之用递归解决李白喝酒问题(附填空题解法)
  8. Python学习笔记:求一组数据的众数
  9. ComponentArt.web.ui中文帮助之Grid(六)
  10. android 办公桌面壁纸,android系统励志的壁纸欣赏
  11. 团队管理的一些基本要点
  12. Xshell 基础命令及其打包静态库和动态库命令
  13. 从事嵌入式软件开发的好处是什么
  14. 划水小老虎的mysql学习路线
  15. TCP/IP网络协议详解
  16. Linux安装idea步骤
  17. idea插件开发(5)-Swing图形化设计
  18. c++读取obj文件的数据 其中f中只取面片定点数据
  19. 应用长时间置于后台后广播失效_无奈!终于知道为什么关闭了后台应用手机还是卡了!...
  20. android 锤子桌面壁纸,锤子桌面apk-锤子启动器Smartisan Launcher下载v1.0 安卓版-西西软件下载...

热门文章

  1. JSP标准标签库——JSTL
  2. 奇虎360 2015校园招聘笔试编程题
  3. 拂去ThreadLocal的轻纱
  4. Android Shape渐变色
  5. web安全入门之SQL注入-时间型盲注
  6. 如何用计算机看dvd,电脑怎么播放dvd光盘_电脑无法播放dvd光盘
  7. spark count统计元素个数
  8. UNICODE编码转换为ASCII编码
  9. 如何在Win7中安装使用超级终端Hyper Terminal
  10. NOIP 2018 游记