吾八哥学Golang(二):Golang里的基本数据类型

在Golang里有如下几种数据类型:整型、浮点型、布尔类型、字符串、复数类型、数组、map,下面通过简单的例子熟悉相关的数据类型:

整型

golang支持如下整型类型:

类型长度(字节)取值范围
int81-128到127
uint810到255
int162-32768到32767
uint1620到65535
int324-2147483648到2147483647
uint3240到4294967295
int648-9223372036854775808到9223372036854775807
uint6480到18446744073709551615

上面表格里没有int,uint,因为这两种类型是根据平台相关,uintptr则如同指针类型。我们要注意的是int和int32是两种不同的类型,在类型强制转换的时候要注意取值返回和长度的问题。至于基本的四则运算则和其他语言是一样,go里的四则运算符加减乘除求余分别为+、-、*、/、%,我们要注意的是求余运算为整型所独有的。大小比较和C++里是一样的。

浮点型

golang里的浮点类型有float32和float64两种类型,float64的精度更高。

类型最大值最小非负数
float323.402823466385288598117041834516925440e
+38
1.401298464324817070923729583289916131280e
-45
float641.797693134862315708145274237317043567981e
+308
4.940656458412465441765687928682213723651e
-324

注意下浮点型的数据大小比较不能使用"==",要使用比较两个数之间的差在某个范围内的方式。

布尔类型

布尔类型的关键字是bool,取值就是true和false两种,golang里不支持布尔类型的强制转换。

字符串

字符串的关键字是string,string类型连接通过"+"来实现,取某个字符的内容可以通过下角标来获取,例如str[3],但字符串初始化后是不支持修改某个字符的。字符串的长度可以使用len()函数来获取,同时支持Printf()的格式化输出,后续再学习了。使用字符串的时候尤其要注意的是字符编码问题。go里标准库仅支持UTF-8和Unicode编码,其他的编码标准库没有内置的编码转换支持,需要寻找第三方开源库。

复数类型

复数类型分为实部和虚部,对于某个复数z=complex(x,y)在golang里复数的实部可以通过real(z)来获取,虚部通过imag(z)来获取。

至于数组、map后面单独来学习!

版权所有原创文章,转载请保留或注明出处:http://www.5bug.wang/post/60.html