热启动的意义在于,当你更改了代码,不用自己手动的编译,系统检查到代码的变化,自动重启,大大提高开发效率!下面是安装步骤,非常简单~

1、安装 air

1
go get -u github.com/air-verse/air

2、进入到项目的根目录,在终端执行下面的命令,得到.air.toml

1
air init

3、根据实际项目,调整.air.toml 中的内容,air 将按照下面规则热重启,建议理解每个参数的意思

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
root = "D:/project/your-project-name"  # 项目根目录位置

[build]
pre_cmd = ["source pre_env.sh","bee generate docs"] # 在 go buid 前的命令,这里第一个是导入环境变量,第二个是更新 swagger 接口文档和路由
args_bin = []
bin = "./tmp/main.exe" # 运行编译好的文件命令
cmd = "go build -o ./tmp/main.exe your-project-name" #构建项目命令
delay = 1000
exclude_dir = ["tmp", "vendor", "testdata" ,"logs" ,".idea",".git","docker"] # 排除这些文件
exclude_file = []
exclude_regex = ["_test.go"]
exclude_unchanged = false
follow_symlink = false
full_bin = ""
include_dir = []
include_ext = ["go", "tpl", "tmpl", "html" ,"ini" ,"conf"] # 这些文件一旦变化并保存就会触发重新构建并启动
include_file = []
kill_delay = "1s"
log = "build-errors.log" #生成的日志名
poll = false
poll_interval = 0
post_cmd = []
pre_cmd = []
rerun = false
rerun_delay = 500
send_interrupt = false
stop_on_error = false

...

4、在项目根目录下,终端执行 air,便可实现使用 Air 实现 Go 程序热启动

1
air

参考