03-go的基础数据类型
03-go的基础数据类型

bool类型
布尔类型的值只可以是常量true或false
数值类型
1、整数型
int有符号数,unit无符号数
-
int8有符号 8 位整型(-128 到 127)长度:8bit -
int16有符号 16 位整型(-32768 到 32767) -
int32有符号 32 位整型(-2147483648 到 2147483647) -
int64有符号 64 位整型(-9223372036854775808 到 9223372036854775807) -
uint8无符号 8 位整型(0 到 255)8 位都用于表示数值: -
uint16无符号 16 位整型(0 到 65535) -
uint32无符号 32 位整型(0 到 4294967295) -
uint64无符号 64 位整型(0 到 18446744073709551615)
2、浮点型
-
float3232 位浮点型数 -
float6464 位浮点型数
3、其他类型
byte等价于uint8,主要用于存放字符类型,因为在go中是没有char类型的
字符用单引号
-
rune等价于int32,主要也是用于存放字符类型的。区别于byte类型,由于字符在每个国家都不一样,所以字符数是非常多的,就采用了rune来存放。所以中文字符就需要使用rune类型了 -
uint:32 位或 64 位(取决于系统架构)
数据类型的转换
1、简单的转换操作
通过基础类型来进行转换,例如:
对于自定义类型,可以采用类型别名的方式
2、strconv
采用go内置的strconv包,来实现数据类型的转换。常用的有:Atoi、Itoa、以及ParseXXX、FormatXXX


-
Atoi:表示的是字符串转int
-
Itoa:表示int转字符串
A表示的是Ascll码,因为字符内部存储是Ascll
- Atoi:字符串转int
因为字符转int,可能会出错,比如这个字符不是数字,所以有err参数返回
- Itoa:int转字符串
对于int转字符串,就不存在出错的情况,所以没有err参数
- ParseXXX
字符串转基础类型
- FormatXXX
基础类型转字符串
ParseXXX和FormatXXX可以传多个参数,来得到更丰富的数据,比如可以得到想要的位数,是32或者64这些
字符串操作
1、求字符串长度(需要注意)
用来计算字符串长度,但是如果是中文字符,需要先将字符串转为rune类型数组,再计算(因为英文字母和汉字占的字节不同)
2、``
在go中也可以使用``来定义字符串
3、格式化输出
其他
4、字符串的大小比较
因为字符串存储的字符是按ascll码来的,所以比较的是对应字符的ascll码大小,例如h > a的
5、通过strings.Builder进行字符串拼接
string.Builder的性能高
6、strings的常用方法
- strings.Contains:是否包含
- strings.Count:求出现次数
- 分割字符串
- 字符串是否包含前缀,是否包含后缀
-
strings.HasPrefix:前缀
-
strings.HasSuffix:后缀
- 查询子串出现的位置
- 子串替换
- 大小写转换
-
ToLower:大写转小写
-
ToUpper:小写转大写