1.6 基础数据类型
一、整形
计算机换算规则:
1GB = 1024MB
1MB = 1024KB
1KB = 1024B
1B = 8bit
一个比特位只有0或1两种表达方式
int8 = $2^{8}$ (也就是一个字节,范围[-128-127])
uint8表示从0起,不可为负数,即[0-255]
同理可以解析
int16、int32、int64int类型是动态的,根据当前系统定义,32位系统默认int32, 64位系统默认int64
var a int = 100
var b int8 = 100
var c int16 = 100
var d uint8 = 10
fmt.Println(a, b, c, d)二、浮点型
float32:表示单精度浮点型,使用了4字节存储,最多7位十进制有效数字,超出会进行四舍五入操作
fload64:表示双精度浮点型,使用8字节存储,最多有15或16位有效数字,超出会进行四舍五入操作
科学计数法(指数类型)也归并在浮点类型中($2^{10}$ =2e10 )
var f1 float32 = 3.0123456789123456789
var f2 float64 = 3.0123456789123456789
fmt.Println(f1, reflect.TypeOf(f1))
fmt.Println(f2, reflect.TypeOf(f2))
// 指数(科学计数法)
var f3 = 2e10
fmt.Println(f3, reflect.TypeOf(f3))三、布尔类型
布尔类型只有两个值,
true或false,分别代表类型中的真和假以后的代码中,基本上经过比较或
与、或、非判断获取布尔值类型
var boo1 bool = true
var boo2 bool = false
fmt.Println(2 > 1)四、字符串
字符串是最常用的数据类型,是通过双引号将多个字符按串联起来的一种数据,用于展示文本
go语言会对字符串增加索引,从0开始到最后以为,空格也算在内
字符串的基本操作:
假如定义的字符串为
hello snow索引与字符对应关系: h e l l o s n o w 0 1 2 3 4 5 6 7 8 9索引(获取单个字符)
获取方式:
字符串[索引]获取到的字符会自动转化为ASCII码,需要手动转义(string())
fmt.Println(string(s[1])) // 获取字符e,索引位置为1,但输出结果是ASCII码,需要转义
索引和切片(获取连串的字符串)
获取方式:
字符串[start:end)左闭右开区间,左侧可以取到,右侧取不到,因此取的时候需要向后加一位
// 截取hello字符串 fmt.Println(s[0:5])缺省值,默认从头开始的字符串,0是默认缺省值,可以省略不写
// 截取hello字符串 fmt.Println(s[:5])取最后的字符串,因为索引不到10,但可用使用10结束,不建议;可以使用结束区间缺省的方式截取剩下字符串
// 截取snow fmt.Println(s[6:10]) // 不建议 fmt.Println(s[6:]) // 建议结束缺省的方式拷贝整体字符串,两端都缺省即可,也可以直接等于赋值
// 截取全部 fmt.Println(s[:])
字符串拼接
两端字符串拼接成一个字符串:
+运算符即可var s1 = "lonely" var s2 = "snow" fmt.Println(s1 + s2)转移符号
转义符含义回车符(返回首行)
换行符(直接跳到下一行的同列位置)
制表符
'
单引号
"
双引号
\
反斜杠
举例:打印一个Windows下的文件路径
var s3 = "D:\\next\\go.exe" fmt.Println(s3)反引号
解决多行输出时候,写多个输出指令
fmt.Println("1. 开始") fmt.Println("2. 重试") fmt.Println("3. 暂停") fmt.Println("4. 结束") // 反引号形式编写 fmt.Println(` 1. 开始 2. 重试 3. 暂停 4. 结束 `)
Last updated