03-golang基本数据类型

golang中有4种基础数据类型,分别是整型、浮点型、布尔型和字符串型。

整型

golang中整型分为有符号整型和无符号整型。其中按照数据占用空间大小的不同,有符号整型分为了5种,int,int8,int16,int32,int64,对应的无符号整型uint,uint8,uint16,uint32,uint64。每个类型后面的数字代表着该类型所占用的比特位,例如int8表示占用8个比特位,即1字节。int和uint是不固定长度的,它由操作系统的位数决定。例如在32位操作系统上,int就是int32,在64位操作系统上就是int64

类型 有符号 类型长度(字节) 数据范围
int8 1 -128 ~ 127
int16 2 -32768 ~ 32767
int32 4 -2147483648 ~ 2147483647
int64 8 -9223372036854775808 ~ 9223372036854775807
uint8 1 0 ~ 255
uint16 2 0 ~ 65535
uint32 4 0 ~ 4294967295
uint64 8 0 ~ 18446744073709551615

特殊的整型:

类型 32位操作系统对应类型 64位操作系统对应类型
int int32 int64
uint uint32 uint64

浮点型

golang支持2种浮点型float32float64,本别占用了4字节和8字节空间。float32 的浮点数的最大范围约为3.4e38,可以使用常量定义:math.MaxFloat32float64 的浮点数的最大范围约为 1.8e308,可以使用一个常量定义:math.MaxFloat64

布尔型

golang中使用bool来声明布尔型变量,布尔型只有两种值:truefalse,默认值为false

字符串型

golang中使用string来声明字符串。go中字符串是UTF-8编码的序列,它由一个个的字符组成,底层是一个字符数组,当字符是ASCII码时,占用1字节空间,其他字符则占用2~4字节。字符串是一种值类型,它的值是不可变的。

特殊类型

golang中有两种特殊的整型:byterune。其实它们并不是真正的类型,而是一种类型别名,byte的本质是uint8rune的本质是int32byte代表着一个ASCII码字符,rune代表着一个UTF-8字符。当你的字符串内容包含中文,且你做要遍历字符串或者切割字符串时,最好用rune,会出现乱码等问题。

你可能感兴趣的:(golang学习笔记)