go run main.go 参数_介绍一款Go项目热编译工具gowatch

cdc5a0f33f9fba08c55f5034695afa8c.png

使用场景

在golang项目编写过程中,需要对项目不断的进行构建go build并调试以快速发现问题,而我们每次进行手动的进行go build又太重复,所以写了这么一个工具gowatch来实时的监听文件的改动并编译运行,大大提升开发效率。

快速入门

安装使用

go get github.com/silenceper/gowatch

安装完成之后,在main包目录下执行gowatch命令:

2c40f23b17a8bba0f8a8eba2415f2c52.png

在不断的对文件进行ctrl-s 保存的过程同时也会对项目进行build && run。

如果对编译参数或运行参数有要求,可以通过下面高级用法实现。

高级用法

支持的命令行参数:

  • -o : 非必须,指定build的目标文件路径
  • -p : 非必须,指定需要build的package(也可以是单个文件)
  • -args: 非必须,指定程序运行时参数,例如:-args='-host=:8080,-name=demo'
  • -v: 非必须,显示gowatch版本信息

例如:

gowatch -o ./bin/demo -p ./cmd/demo

gowatch同时也提供了配置文件的方式,支持更多的个性化的配置,默认当前目录下的gowatch.yaml配置文件:

# gowatch.yml 配置示例

# 当前目录执行下生成的可执行文件的名字,默认是当前目录名
appname: "test"
# 指定编译后的目标文件目录
output: /bin/demo
# 需要追加监听的文件名后缀,默认只有'.go'文件
watch_exts:
- .yml
# 需要监听的目录,默认只有当前目录
watch_paths:
- ../pk
# 在执行命令时,需要增加的其他参数
cmd_args:
- arg1=val1
# 在构建命令时,需要增加的其他参数
build_args:
- -race
# 需要增加环境变量,默认已加载当前环境变量
envs:
- a=b
# 是否监听 ‘vendor’ 文件夹下的文件改变
vendor_watch: false
# 不需要监听的目录名字
excluded_paths:
- path
# main 包路径,也可以是单个文件,多个文件使用逗号分隔
build_pkg: ""
# build tags
build_tags: ""

# 是否禁止自动运行
disable_run: false

推荐阅读

  • Go开发过程中总是要停下来编译:用它解决你的烦恼,快乐编程


喜欢本文的朋友,欢迎关注“Go语言中文网”:

ec774efde8a7fe7a526cdffa1c88b87e.png

Go语言中文网启用微信学习交流群,欢迎加微信:274768166,投稿亦欢迎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值