go基础之基础数据类型

一、好言

一个人的闯荡,有时候也会疲惫,也会迷茫,但我的梦想,仍在发光!


二、

2、1 整型

go语言同时提供了有符号和无符号类型的整数运算。这里有int8、int16、int32、int64四种继而不同大小的有符号整形数类型,分别对应8、16、32、64bit大小的有符号整形数,于此对应的是uint8、uint16、uint32和uint64四种无符号整形数类型。

还有一种无符号的整数类型uintptr,没有指定具体的bit大小但是足以容纳指针。uintptr类型只有在底层编程才需要,特别是go语言和c语言函数库或操作系统接口相交互的地方。

有符号整数采用2的补码形式表示,也就是最高位bit位用作表示符号位,一个n-bit的有符号数的值域是从-2 的n-1次方到2的n-1次方-1。无符号整数的所有bit位都用于表示非负数,值域是0到2的n次方减1,比如,int8类型整数的值域是从-128到128,而uint8类型整数的值是从0到255。

2、2 浮点型

go语言提供两种精度的浮点数,float32和float64。
一个float32类型的浮点数可以提供大约6个十进制的精度,而float64则可以提供约15个十进制的精度;通常应该优先使用float64类型,因为float32类型的累计计算误差很容易扩散,并且float32能精确表示的正整数并不是很大,因为float32的有效bit只有23个,其他的bit位用于指数和符号;当整数大于23bit能表达的范围时,float32的表示将出现误差。

math包中除了提供大量常用的数据函数外,还提供了IEEE754浮点数标准中定义的特殊值的创建和测试:正无穷大和负无穷大,分别用于表示太大溢出的函数和除0的结果;含有Nan函数,一般用于表示无效的除法操作结果0/0或Sqrt(-1)

nan := math.NaN()
math.isNan(nan) //判断是否是NaN

2、3 复数

var x complex128 = complex(1, 2) // 1+2i
var y complex128 = complex(3, 4) // 3+4i
fmt.Println(x*y)                 // "(-5+10i)"
fmt.Println(real(x*y))           // "-5"
fmt.Println(imag(x*y))           // "10"

这里的x*y,结果是(-5+10i)这个怎么算出来的没搞懂?

2、3 布尔型

一个布尔类型的值只有两种:true和false

2、4字符串

字符串的值是不变的:一个字符串包含的字节序列永远不会被改变,当然我们也可以给一个字符串变量分配一个新字符串值

推荐阅读更多精彩内容

  • TF API数学计算tf...... :math(1)刚开始先给一个运行实例。tf是基于图(Graph)的计算系统...
    MachineLP阅读 2,584评论 0 1
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 7,382评论 6 13
  • 程序离不开数据。把数字、字母和文字输入计算机,就是希望它利用这些数据完成某些任务;例如:需要计算一份利息或者显示一...
    苏沫离阅读 2,608评论 0 7
  • 本文翻译并节选自Constants Go是一种静态类型语言,不允许将不同类型的数字混合在同一个表达式中。你不能将一...
    绝望的祖父阅读 1,661评论 0 4
  • 问题1: 假如进去白茫茫一片,能看到一些线条,电脑VR场景也并不能显示。解决办法:检查SteamVR,并重启VR设...
    逆茪阅读 486评论 0 0