本篇基于 Go 1.25.1 版本,一次性带你掌握所有基础类型字面量写法,规范、清晰、零错误,新手直接抄作业✅
一、什么是字面量?
超简单一句话:
直接写在代码里的固定值 = 字面量
比如:
100、3.14、"Go学习"、true
都是字面量!
二、字面量分类总表(收藏级)
| 类型 | 示例 | 写法规则 |
|---|---|---|
| 整型字面量 | 100、0b101、0x1A | 十进制、二进制、八进制、十六进制 |
| 浮点字面量 | 3.14、1.5e3 | 小数、科学计数法 |
| 布尔字面量 | true、false | 只有两个值 |
| 字符串字面量 | "hello"、`raw` | 双引号、反引号原生 |
| 复数字面量 | 1+2i | 实部+虚部 |
三、各类字面量详细写法
1. 整型字面量(4种写法)
100 // 十进制(默认)
0b101 // 二进制(0b开头)
0755 // 八进制(0开头)
0x1A // 十六进制(0x开头)
1_000_000 // 千分位下划线(易读)2. 浮点字面量
3.14 // 标准小数
.5 // 0.5
5. // 5.0
1.5e3 // 科学计数法 = 15003. 布尔字面量
只有两个值:
true
false4. 字符串字面量
- • 双引号:支持转义(\n、\t、")
- • 反引号:原生字符串,不转义,支持换行
"hello\nGo" // 双引号,支持转义
`真实换行
原生字符串` // 反引号,原样输出5. 复数字面量
1 + 2i
3.14 + 5.6i四、完整可运行 Demo(全覆盖、直接跑)
main.go 零语法错误,所有字面量一次演示👇
package main
import "fmt"
func main() {
fmt.Println("===== 1. 整型字面量 =====")
fmt.Println("十进制:", 100)
fmt.Println("二进制:", 0b101)
fmt.Println("八进制:", 0755)
fmt.Println("十六进制:", 0x1A)
fmt.Println("下划线分隔:", 1_000_000)
fmt.Println("\n===== 2. 浮点字面量 =====")
fmt.Println("标准小数:", 3.14)
fmt.Println("简写小数:", .5)
fmt.Println("科学计数:", 1.5e3)
fmt.Println("\n===== 3. 布尔字面量 =====")
fmt.Println("真:", true)
fmt.Println("假:", false)
fmt.Println("\n===== 4. 字符串字面量 =====")
fmt.Println("双引号:", "Hello\tGo")
fmt.Println("反引号原生:", `第一行
第二行
真实换行`)
fmt.Println("\n===== 5. 复数字面量 =====")
fmt.Println("复数:", 1+2i)
fmt.Println("\n✅ 字面量演示完成!")
}运行命令
go run main.go运行结果
===== 1. 整型字面量 =====
十进制: 100
二进制: 5
八进制: 493
十六进制: 26
下划线分隔: 1000000
===== 2. 浮点字面量 =====
标准小数: 3.14
简写小数: 0.5
科学计数: 1500
===== 3. 布尔字面量 =====
真: true
假: false
===== 4. 字符串字面量 =====
双引号: Hello Go
反引号原生: 第一行
第二行
真实换行
===== 5. 复数字面量 =====
复数: (1+2i)
✅ 字面量演示完成!五、核心规则(必背)
- 1. 数字可加下划线:
1_000更易读 - 2. 二进制 0b、八进制 0、十六进制 0x
- 3. 字符串双引号支持转义,反引号不转义
- 4. 布尔只有 true / false
- 5. 字面量在编译期确定,效率极高
六、新手避坑指南
- 1. ❌ 不要把
0开头数字当十进制(是八进制) - 2. ❌ 单引号
'a'是字符,不是字符串 - 3. ❌ 反引号内不能再写反引号
- 4. ✅ 长数字用下划线分隔:
1_234_567 - 5. ✅ 多行文本优先用反引号
📌 总结
- 1. 字面量 = 代码里直接写的固定值
- 2. 整型:十进制、0b二进制、0八进制、0x十六进制
- 3. 浮点:小数 + 科学计数法
- 4. 布尔:true / false
- 5. 字符串:"转义" +
原生
一篇搞定 Go 所有字面量写法,代码规范、清晰、专业✨
MiaoAll