使用场景

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

快速入门

安装使用

go get github.com/silenceper/gowatch

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

在不断的对文件进行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 tagsbuild_tags: ""

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

推荐阅读

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


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

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

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

  1. confluence 编辑器这次没有加载_介绍10款平时项目里使用比较多的在线编辑器,有需要可以收藏起来

    我这里只是收集一些常用在线编辑器,对编辑器的功能,性能,使用难易程度不做任何评测,因为每个人的使用习惯不一样,使用场景也不一样. UEditor (百度开发) UEditor 是一套开源的在线HTML ...

  2. 【使用PyCharm进行Python开发:如何通过右键Run运行程序】-PyCharm是一款强大的Python开发工具,提供了方便快捷的编写、测试和调试Pyth...

    [使用PyCharm进行Python开发:如何通过右键Run运行程序]-PyCharm是一款强大的Python开发工具,提供了方便快捷的编写.测试和调试Python代码的功能.在编写完Python代码 ...

  3. 介绍两款App敏感信息收集工具

    介绍两款App敏感信息收集工具 1.APKLeaks 2.ApkAnalyser 1.APKLeaks APKLeaks是一个apk文件敏感信息扫描工具,它会扫描apk来获取URI.端点和secret ...

  4. java兼容的浏览器_介绍几款浏览器兼容性测试工具

    昨天和朋友聊到了有关浏览器兼容性的问题,在开发中有时的确很让人苦恼,我向他推荐了几款测试浏览器兼容的网络 昨天和朋友聊到了有关浏览器兼容性的问题,在开发中有时的确很让人苦恼,我向他推荐了几款测试浏览器 ...

  5. android项目实战博学谷源码_阿里爆款SpringBoot项目实战PDF+源码+视频分享

    前言 关于SpringBoot网络上有太多的博客跟资料,其影响力想必不用我多说了.它作为当前最流行的微服务框架,不但使用更加简单,而且功能更加丰富.性能更加稳定和健壮.其"约定大于配置&qu ...

  6. mysql gui 有哪些_推荐五款较好的MySQLGUI工具

    大多数数据库都是由两个截然不同的部分组成的:后端(存储数据的地方)和前端(一个用于连接数据组件的用户界面).这种架构可以 大多数数据库都是由两个截然不同的部分组成的:后端(存储数据的地方)和前端(一个 ...

  7. dubbo的端口地址和ip写在那_开源一款超实用的 Dubbo 测试工具,已用半年,感觉很有feel~...

    不知道你是否在工作中有遇到过类似情况: dubbo接口调试复杂,需要通过telnet命令或者通过consumer调用来触发. telnet语句参数格式复杂,每次编写都要小心谨慎,一旦出错又需重来. 复 ...

  8. 常用工具:介绍一款免费开源录屏工具-captura

    网上能搜到的大部分录屏工具表面打着免费的旗号,实际上下载之后不是有水印就是限制分辨率和时长,介绍一款免费无水印的开源录屏截屏工具captura. 准备工作 要使用这个工具,必须事先在电脑上安装ffmp ...

  9. java main传入参数_向java的main()传入大量参数

    项目中有一些用java写成的可执行的工具,需要调用者传入大量的参数.最开始,我使用的是最传统的方式,直接一个传入参数数组,于是有如下这么壮观的代码: public static void main(S ...

最新文章

  1. lamp配置python_LAMP自动化安装脚本
  2. 【读书笔记】MongoDB管理与开发精要(1)
  3. 【caffe-Windows】添加工程-以classification为例
  4. centos 安装pm2
  5. mysql8解决区分大小写问题_球磨机“包球”和“饱磨”分不清?点进来快速区分,解决问题...
  6. Mybaits-plus实战(二)
  7. 16位整型数据matlab,matlab的整型数据
  8. ie11浏览器可以下载java吗_如何卸载IE11? 如何安装低版本的IE浏览器?
  9. 7 练习1 -基础练习
  10. 【渝粤教育】国家开放大学2018年春季 0550-21T素描(一) 参考试题
  11. IHS遥感图像融合算法及其相关的算法
  12. 射频电路设计与调试经验总结
  13. 【Proteus仿真】 51单片机利用定时器制作简易SPWM波形输出
  14. 一位ML工程师构建深度神经网络的实用技巧
  15. English-Phonics
  16. 2021年中国金针菇供需现状及竞争格局分析,上半年行业整体盈利水平降低「图」
  17. R语言运行环境安装配置
  18. 解决微信小程序RangeError: WebAssembly.instantiate(): Out of memory: wasm memory内存不足问题
  19. va_start 用法
  20. GRE词汇分类之责骂词汇

热门文章

  1. CFD分析过程(CFD Analysis Process)
  2. 艾伟:ASP.NET 与 AJAX的实现方式
  3. mysql数据库安装在unix_Linux下的数据库二:在Linux/Unix平台安装MySQL
  4. Spring AOP两种使用方式以及如何使用解析
  5. 解决the resource is not on the build path of a java project
  6. 用计算机算出陈赫手机号码,陈赫手机号码遭《快本》曝光,并被网友打到关机!还有人搜到了他的支付宝账户......
  7. 报错 classes 拒绝访问_3种方式“移除”快速访问;为什么移除?你懂的...
  8. ubuntu java 1.6 安装,ubuntu 中安装java jdk 1.6
  9. 固件的完整形式是什么?
  10. 操作系统中的处理机调度调度_操作系统中的多处理器调度