# go build / go install

URL: https://caijiao.org/go/07-test/04-build-install
Source: docs/go/07-test/04-build-install.md
Description: 本节介绍 go build 与 go install 的使用方法，帮助理解 Go 程序的构建与安装流程。

## 1. go build

`go build` 编译 Go 源码为可执行文件，但不会将结果安装到 `$GOBIN` 或 `$GOPATH/bin` 目录中。

```bash
go build
```

生成当前模块的可执行文件，适用于本地测试和调试。

也可指定文件或目录：

```bash
go build main.go
go build ./cmd/tool/
```

## 2. go install

`go install` 会先编译源代码，然后将可执行文件安装到 `$GOBIN` 或 `$GOPATH/bin` 目录中。

```bash
go install
```

常用于工具类程序的安装与管理。Go 1.18 起支持使用版本号：

```bash
go install example.com/tool@latest
```

## 3. 区别总结

| 特性            | go build | go install     |
| --------------- | -------- | -------------- |
| 编译文件        | ✅       | ✅             |
| 安装到 bin 目录 | ❌       | ✅             |
| 推荐用途        | 本地测试 | 工具安装、部署 |

---

通过合理使用 `go build` 与 `go install`，可以提升开发效率与程序管理便利性。
