这是我参与「第五届青训营 」伴学笔记创作活动的第2天
基础数据类型
Go语言的数据类型主要有四种:基础类型、复合类型、引用类型和接口类型
基础类型主要包括数值、字符串和布尔型
数值类型主要包括整数、浮点数和复数
整形
int8、int16、int32、int64 、uint8、uint16、uint32、uint64数字代表多少bit大小的有符号或无符号整形
int和uint:一般所使用的有符号和无符号整形
还有无符号整形uintptr,没有具体的bit大小但可容纳指针
浮点数
float32 可以提供大约6个十进制数的精度float64大约能提供15个十进制数的精度
复数
有complex64和complex128两种
函数complex()用于构建复数,传入两个参数,第一个参数是复数实部,第二个参数是复数虚部
函数real和imag分别返回复数的实部和虚部
一个复数常量可以与普通数值常量相加,例如1+1i,因此构建复数会更加简单
math/cmplx提供了处理复数的许多函数
布尔型
&&优先级比||高
字符串
- 可以使用
len()来获取字符串的字节数目 - 字符串可以通过索引访问每个字符
- 字符串支持切片操作,
str[i:j]生成原字符串从索引i开始但不包括索引j的子字符串 - 可以使用 + 拼接字符串,但字符串不支持修改
字符串面值
- 将内容放在双引号内
- 也可以使用反引号;反引号没有转义操作
-
转义字符
- \a 响铃
- \b 退格
- \f 换页
- \n 换行
- \r 回车
- \t 制表符
- \v 垂直制表符
- ' 单引号(只用在 ''' 形式的rune符号面值中)
- " 双引号(只用在 "..." 形式的字符串面值中)
- \ 反斜杠
常量
常量用const定义,值不可改变