# 变量与常量

URL: https://caijiao.org/go/01-go-basic/07-vars-consts
Source: docs/go/01-go-basic/07-vars-consts.md
Description: 本节介绍 Go 语言中的变量与常量的定义、使用方式及其区别，帮助你理解如何存储和管理程序中的数据。

在 Go 语言中，变量和常量用于存储程序运行时需要的数据。变量的值可以改变，常量则在程序运行期间保持不变。

## 1. 变量

### 定义变量

```go
var a int = 10
var b = 20         // 类型推断为 int
c := 30            // 简短声明，只能在函数内部使用
````

### 多变量声明

```go
var x, y, z int = 1, 2, 3
```

### 零值

未初始化的变量会有默认的“零值”，例如：

* 整型为 0
* 布尔型为 false
* 字符串为空字符串 ""

## 2. 常量

常量声明后值不可修改，使用 `const` 关键字定义：

```go
const Pi = 3.14159
const Greeting string = "Hello, Go!"
```

### 常量的特点

* 只能赋值编译时确定的值；
* 支持数字、字符串和布尔类型；
* 常用于定义程序中固定不变的参数。

## 3. 变量与常量的区别

| 特性    | 变量           | 常量          |
| ----- | ------------ | ----------- |
| 值是否可变 | 可以改变         | 不可改变        |
| 关键字   | `var` / `:=` | `const`     |
| 使用场景  | 需要存储可变数据     | 存储固定的、不变的数据 |

---

掌握变量与常量的使用，是学习 Go 语言编程的基础，后续章节将基于此介绍更多数据类型和操作。
