📚 原创系列: “Go语言学习系列”
🔄 转载说明: 本文最初发布于"Gopher部落"微信公众号,经原作者授权转载。
🔗 关注原创: 欢迎扫描文末二维码,关注"Gopher部落"微信公众号获取第一手Go技术文章。
📑 Go语言学习系列导航
🚀 第一阶段:入门篇本文是【Go语言学习系列】的第3篇,当前位于第一阶段(入门篇)
- Go语言简介与环境搭建
- Go开发工具链介绍
- Go基础语法(一):变量与数据类型 👈 当前位置
- Go基础语法(二):流程控制
- Go基础语法(三):函数
- Go基础语法(四):数组与切片
- Go基础语法(五):映射
- Go基础语法(六):结构体
- Go基础语法(七):指针
- Go基础语法(八):接口
- 错误处理与异常
- 第一阶段项目实战:命令行工具
📖 文章导读
本文将深入介绍Go语言的变量与数据类型系统,涵盖:
- Go变量声明的多种方式及其最佳实践
- Go的基本数据类型(整数、浮点数、布尔值、字符串)详解
- 复合数据类型(数组、切片、映射)基础概念
- 类型转换和类型断言的正确使用方法
- 常量定义与iota枚举模式的高级技巧
- 零值机制与变量作用域的全面讲解
无论你是编程新手还是有其他语言经验的开发者,本文都将帮助你全面理解Go语言的类型系统,为后续学习打下坚实基础。

Go基础语法(一):变量与数据类型详解
一、Go语言变量声明
在Go语言中,变量是存储数据的基本单元。相比其他语言,Go提供了多种变量声明方式,满足不同场景的需求。
1.1 变量声明的基本语法
Go语言变量声明有以下几种主要形式:
1) 完整声明形式
var 变量名 类型 = 初始值
例如:
var name string = "Gopher部落"
var age int = 25
var isActive bool = true
2) 类型推导形式
如果提供了初始值,Go编译器可以自动推导变量类型:
var 变量名 = 初始值
例如:
var name = "Gopher部落" // 自动推导为string类型
var count = 42 // 自动推导为int类型
var pi = 3.14159 // 自动推导为float64类型
3) 短变量声明(最常用)
在函数内部,可以使用更简洁的:=语法:
变量名 := 初始值
例如:
func main() {
name := "Gopher部落"
age := 25
isActive := true
// 使用这些变量...
}
⚠️ 注意:短变量声明(
:=)只能在函数内部使用,不能在全局作用域使用。
4) 批量声明
可以一次声明多个变量:
var (
name string = "Gopher部落"
age int = 25
isActive bool = true
)
// 或者使用短变量声明
func main() {
name, age, isActive := "Gopher部落", 25, true
}
1.2 变量命名规则与约定
Go语言的变量命名遵循以下规则:
- 必须以字母或下划线开头,后跟字母、数字或下划线
- 区分大小写:
count和Count是不同的变量 - 不能使用关键字作为变量名,如
func、var、if等
Go社区的命名约定:
-
驼峰式命名法:
- 局部变量和私有字段用小驼峰:
userName、itemCount - 导出(公开)变量和字段用大驼峰:
UserName、ItemCount
- 局部变量和私有字段用小驼峰:
-
简洁明了:Go推崇简短的变量名,尤其是在小作用域中
// 推荐 for i := 0; i < 10; i++ { ... } // 不推荐 for index := 0; index < 10; index++ { ... } -
缩略词全大写:如
HTTP、URL、ID等(在小驼峰中是httpClient)
1.3 零值(Zero Values)机制
Go语言的一个重要特性是所有变量都有默认值,称为"零值":
| 类型 | 零值 |
|---|---|
| 整数类型 | 0 |
| 浮点类型 | 0.0 |
| 布尔类型 | false |
| 字符串 | "" (空字符串) |
| 指针、函数、接口、切片、通道、映射 | nil |
var (
i int
f float64
b bool
s string
p *int
)
func main() {
fmt.Println(i) // 输出: 0
fmt.Println(f) // 输出: 0
fmt.Println(b) // 输出: false
fmt.Println(s) // 输出: ""
fmt.<

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



