本篇基于 Go 1.25.1 版本,一次性吃透所有高频 Go 命令,开发效率直接拉满!
一、前言
Go 自带超强大命令行工具,不用装第三方插件,开箱即用!
从运行、编译、格式化到测试、排查bug,全能搞定✅
二、高频命令总表(直接收藏)
| 命令 | 核心作用 | 使用场景 |
|---|---|---|
go run | 直接运行代码 | 开发调试、快速看效果 |
go build | 编译成可执行文件 | 生成上线程序、跨平台编译 |
go test | 单元测试 | 测试函数、保证代码质量 |
go fmt | 自动格式化代码 | 统一代码风格、团队规范 |
go vet | 静态代码检查 | 提前排查隐藏bug |
go mod tidy | 依赖管理 | 自动增删依赖 |
三、命令逐行实战 + Demo(全可跑通)
1. go run —— 开发神器,快速运行
作用:不生成文件,直接编译并运行代码
# 运行 main.go
go run main.go示例代码
// main.go
package main
import "fmt"
func main() {
fmt.Println("✅ go run 运行成功!")
}2. go build —— 编译打包(上线必备)
作用:编译成可直接运行的二进制文件,不依赖Go环境
# 当前系统编译
go build
# 编译指定文件名
go build -o myapp运行编译后的文件:
# Windows
myapp.exe
# macOS / Linux
./myapp跨平台编译(超实用)
# Windows
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
# macOS
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
# Linux
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build3. go fmt —— 自动美化代码
作用:一键格式化代码,统一团队风格
# 格式化当前文件
go fmt main.go
# 格式化整个项目
go fmt ./...格式化前:
func main(){fmt.Println("hi")}格式化后(自动规范):
func main() {
fmt.Println("hi")
}4. go vet —— 自动查bug
作用:静态检查代码,提前发现语法/逻辑错误
# 检查当前目录代码
go vet .能排查的错误:
- • 错误的打印格式
- • 无用变量
- • 错误的循环用法
- • 函数参数不匹配
5. go test —— 单元测试
作用:测试函数是否正常工作,保证代码稳定
步骤1:写业务函数 demo.go
package main
func Add(a, b int) int {
return a + b
}步骤2:写测试文件 demo_test.go
package main
import "testing"
// 测试函数必须以 Test 开头
func TestAdd(t *testing.T) {
res := Add(1, 2)
if res != 3 {
t.Error("Add(1,2) 结果错误!")
}
}运行测试
go test -v输出
=== RUN TestAdd
--- PASS: TestAdd (0.00s)
PASS四、完整项目结构
go-command/
├── main.go // 主程序
├── demo.go // 业务函数
├── demo_test.go // 测试文件
└── go.mod // 模块文件初始化模块:
go mod init go-command五、命令组合使用(开发日常)
# 格式化代码
go fmt ./...
# 检查错误
go vet .
# 运行测试
go test -v
# 运行程序
go run main.go
# 编译上线
go build📌 总结
- 1. go run:快速运行,调试专用
- 2. go build:编译打包,跨平台超强
- 3. go fmt:自动格式化,代码整洁
- 4. go vet:提前查bug,少踩坑
- 5. go test:单元测试,保证稳定
5个命令搞定Go日常开发,新手直接背熟这篇就够啦✨
MiaoAll