fmt占位符
- %T 查看类型
- %v 查看数值 value值 万能展示
- %#v 查看数值 加描述符 字符串加""
- %b 二进制展示
- %d 十进制展示
- %o 八进制
- %x 十六进制
- %s 字符串
- %f 浮点数
- %c 字符
整型数据
int8 int16 int32 int64 uint8 uint16 uint32 uint64
- uint 32位系统是uint32 64位系统uint64
- int 32位系统是int32 64位系统是int64
- uintptr 无符号整型 用于存放一个指针
进制 表示
- 无法直接设置二进制数值 用%b 打印出来
- 十进制日常输入数值表示十进制 %d 打印出来
- 八进制 0开头的数值表示8进制数据 %o 打印出来
- 16进制数据 0x开头数据 %x打印出来
- 查看数据类型%T
- 设置指定类型 var = int8(20)设置 int8型
数字字面量语法
Go1.13版本之后引入了数字字面量语法,这样便于开发者以二进制、八进制或十六进制浮点数的格式定义数字,例如:
v := 0b00101101, 代表二进制的 101101,相当于十进制的 45。 v := 0o377,代表八进制的 377,相当于十
进制的 255。 而且还允许我们用 _ 来分隔数字,比如说:v := 123_456 等于 123456 。
`0x十六进制整数部分.十六进制小数部分p指数` 看上去和科学计数法很像,事实上也就是把e换成了p,指数计算
从10变为了2。另外因为是每16进1,所以"0x0.1p0"看上去像0.1,然而它表示的是1/16,即0.0625
v1 := 0b00101101
v2 := 0o777
v3 := 89
v4 := 0xFF
v5 := 0x0.1p-2
v6 := 0x0.1p2
fmt.Println(v1, v2, v3, v4, v5, v6)
//结果 45 511 89 255 0.015625 0.25
浮点数
float32 和float64 两种类型
- 默认浮点数值位float64类型
- float32类型 不能直接赋值给float64类型
布尔值
- 布尔类型默认位flase
- go语言中不允许将整型强制转换位布尔型
- 布尔型无法参与数值运算,也无法与其他类型进行转换
字符串
go语言里面的字符串内容使用utf8 编码 字符串的值位""双引号
中的内容,可以在go语言的源码中直接添加非ascii码字符,如 中文 是 :=“中国”
- Go语言中字符串是用双引号包裹的!!!
- Go语言中单引号包裹的是字符!!!
- 多行字符串 用反引号 ecs下面哪个符号 英文情况下"`"
- 用反引号 打印路径等不用使用转义符
// 字符串
s := "Hello 沙河"
// 单独的字母、汉字、符号表示一个字符
c1 := 'h'
c2 := '1'
c3 := '沙'
// 字节: 1字节=8Bit(8个二进制位)
// 1个字符‘A’=1个字节
// 1个utf8编码的汉字'沙'= 一般占3个字节
字符串的常用操作