在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
五、Go 基本类型 1、基本类型种类 布尔值: bool 长度 1字节 取值范围 true, false
整型: int/uint 根据运行平台可能为32位或64位
8位整型: int8/uint8 长度: 1字节 取值范围:-128 ~127 / 0 ~ 255 字节型: byte (uint8别名),byte类型一般用于强调数值是一个原始的数据而不是 一个小的整数
16位整型: int16/uint16 长度:2字节 取值范围:-32768 ~ 32767 或 0 ~ 65535
32位整型: int32(rune)/uint32 长度: 4字节 取值范围: -2^32/2 ~ 2^32/2-1 或 0 ~ 2 ^ 32 - 1
64位整型: int64/uint64 长度: 8字节 取值范围: -2^64/2 ~ 2^64/2 - 1 或 0 ~ 2 ^ 64 - 1
浮点型 float32 长度: 4字节 小数位: 精确到7
浮点型 float64 长度: 8字节 小数位: 精确到15小数位
复数 complex64 长度: 8字节
复数 complex128 长度: 16字节
足够保存指针的32位或64位的无符号整数类型: uintptr
其他值类型:string、 array 、 struct 引用类型: slice(切片) 、 map(字典) 、 channel(管道) 接口类型: interface 函数类型: func
2、整形数据类型 go 种属于整形的数据有很多种: rune 类型是 Unicode 字符类型,和 int32 类型等价,通常用于表示一个 Unicode 码点。rune 和 int32 可以互换使用。 byte 是uint8类型的等价类型,byte类型一般用于强调数值是一个原始的数据而不是 一个小的整数。 uintptr 是一种无符号的整数类型,没有指定具体的bit大小但是足以容纳指针。 uintptr类型只有在底层编程是才需要,特别是Go语言和C语言函数库或操作系统接口相交互的地方。 有符号整数采用 2 的补码形式表示,也就是最高 bit 位用作表示符号位,一个 n bit 的有 符号数的值域是从 -2^{n-1} 到 2^{n-1}−1。例如,int8类型整数的值域是从-128 到 127, 而uint8类型整数的值域是从0到255。 todo:
3、变量数据类型的转换: go 中不存在隐式转换,所有类型转换必须显式声明 转换只能发生在两种相互兼容的类型之间, 布尔类型不可以和数字进行转换 不管值的具体大小,int、uint和uintptr是不同类型的兄弟类型。其中int和int32也是 不同的类型, 即使int的大小也是32bit,在需要将int当作int32类型的地方需要一个显式 的类型转换操作,反之亦然。 var a float32 = 1.1 b := int(a) //浮点型可以转换为 int型,这有点像 java
4、类型零值 零值并不等于空值,而是当变量被声明为某种类型后未赋值时的默认值,通常情况下,值类型默认值为0, bool为false, string为空字符串。
5、类型的别名 go 可以为基本数据类型、函数、接口等任意的类型定义类型别名,语法是 type 类型别名 = 类型
//批量声明类型别名 type{ i = int s = string fun = func() inter = interface{} } var x i = 1 //声明一个 int 形变量
to be continued
6、数据类型与格式化输出
六、操作符及数据运算 1、数学运算 https://www.cnblogs.com/fengbohello/p/5854108.html
2、比较运算
3、布尔运算
4、二进制位移运算
|
请发表评论