# go run / go test

URL: https://caijiao.org/go/07-test/05-run-test
Source: docs/go/07-test/05-run-test.md
Description: 本节介绍 go run 与 go test 的基本用法，分别用于快速运行 Go 程序和执行测试代码。

## 1. go run

`go run` 用于编译并立即运行 Go 源代码，适合快速验证代码逻辑。

```bash
go run main.go
```

可运行多个文件：

```bash
go run main.go utils.go
```

适用于脚本式开发或调试场景，不会生成可执行文件。

## 2. go test

`go test` 用于运行以 `_test.go` 命名的测试文件中的测试函数。

```bash
go test
```

常见参数：

- `-v`：显示详细输出
- `-run`：只运行指定测试函数
- `-bench`：运行基准测试

示例：

```bash
go test -v -run TestAdd
go test -bench=.
```

## 3. 总结对比

| 命令    | 用途         | 编译生成 | 常见场景           |
| ------- | ------------ | -------- | ------------------ |
| go run  | 运行程序     | 否       | 快速调试或演示     |
| go test | 运行测试代码 | 否       | 单元测试与性能测试 |

---

`go run` 和 `go test` 是日常 Go 开发中最常用的运行与测试命令。
