本文已参与「新人创作礼」活动,一起开启掘金创作之路。


整型
| 类型 | 说明 |
|---|
| byte | 等同于 uint8 |
| int | 依赖于不同平台下的实现,可以是 int32 或者 int64 |
| int8 | [-128, 127] |
| int16 | [-32768, 32767] |
| int32 | [-2147483648, 2147483647] |
| int64 | [-9223372036854775808, 9223372036854775807] |
| rune | 等同于 int32 |
| uint | 依赖于不同平台下的实现,可以是 uint32 或者 uint64 |
| uint8 | [0, 255] |
| uint16 | [0, 65535] |
| uint32 | [0, 4294967295] |
| uint64 | [0, 18446744073709551615] |
| uintptr | 一个可以恰好容纳指针值的无符号整型(对 32 位平台是 uint32, 对 64 位平台是 uint64) |
浮点型
| 类型 | 说明 |
|---|
| float32 | ±3.402 823 466 385 288 598 117 041 834 845 169 254 40x1038 计算精度大概是小数点后 7 个十进制数 |
| float64 | ±1.797 693 134 862 315 708 145 274 237 317 043 567 981x1038 计算精度大概是小数点后 15 个十进制数 |
| complex32 | 复数,实部和虚部都是 float32 |
| complex64 | 复数,实部和虚部都是 float64 |
转义字符
| 转义字符 | 含义 |
|---|
| \ | 表示反斜线 |
| ' | 单引号 |
| " | 双引号 |
| \n | 换行符 |
| \uhhhh | 4 个 16 进制数字给定的 Unicode 字符 |
字符串切片
| 语法 | 描述 |
|---|
| s += t | 将字符串 t 追加到 s 末尾 |
| s + t | 将字符串 s 和 t 级联 |
| s[n] | 从字符串 s 中索引位置为 n 处的原始字节 |
| s[n:m] | 从位置 n 到位置 m-1 处取得的字符(字节)串 |
| s[n:] | 从位置 n 到位置 len(s)-1 处取得的字符(字节)串 |
| s[:m] | 从位置 0 到位置 m-1 处取得的字符(字节)串 |
| len(s) | 字符串 s 中的字节数 |
| len([]rune(s)) | 字符串 s 中字符的个数,可以使用更快的方法 utf8.RuneCountInString() |
| [ ]rune(s) | 将字符串 s 转换为一个 unicode 值组成的串 |
| string(chars) | chars 类型是 []rune 或者 []int32, 将之转换为字符串 |
| [ ]byte(s) | 无副本的将字符串 s 转换为一个原始的字节的切片数组,不保证转换的字节是合法的 UTF-8 编码字节 |
格式化字符串
| 格式化指令 | 含义 |
|---|
| %% | % 字面量 |
| %b | 一个二进制整数,将一个整数格式化为二进制的表达方式 |
| %c | 一个 Unicode 的字符 |
| %d | 十进制数值 |
| %o | 八进制数值 |
| %x | 小写的十六进制数值 |
| %X | 大写的十六进制数值 |
| %U | 一个 Unicode 表示法表示的整形码值,默认是 4 个数字字符 |
| %s | 输出以原生的 UTF-8 字节表示的字符,如果 console 不支持 UTF-8 编码,则会输出乱码 |
| %t | 以 true 或者 false 的方式输出布尔值 |
| %v | 使用默认格式输出值,或者使用类型的 String() 方法输出的自定义值,如果该方法存在的话 |
| %T | 输出值的类型 |
数组
| 数组创建语法 |
|---|
| [length]Type |
| [N]Type{value1, value2, ..., valueN} |
| [...]Type{value1, value2, ..., valueN} |
切片
| 切片创建语法 |
|---|
| make([ ]Type, length, capacity) |
| make([ ]Type, length) |
| [ ]Type{} |
| [ ]Type{value1, value2, ..., valueN} |