2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GoでCLIアプリケーション作成時にホットリロードする

Posted at

背景と解決したい問題

Goの学習を進めるにあたり、簡易的なサンプルコードを書いて実行する、というサイクルを頻繁に回していました。
その際にいちいちエディタと実行するウィンドウを往復することになり、手数が増えて効率が落ちてしまっている実感がありました。
そこで、ファイルの更新を自動検知して自動でビルド&実行(ホットリロード)してくれる環境が欲しくなりました。

解決策

Go のツール、gohr を使うことをおすすめします。
https://github.com/longtime1116/gohr

導入と利用

README.md に書いてある通り、以下のコマンドを実行します。

$ go get github.com/longtime1116/gohr

あとは、自分の開発しているワーキングディレクトリで gohr コマンドを実行すればOK。第一引数に出力ファイル名を指定します。

$ gohr main

おまけ

このようなツールを使わなくても watch コマンドを使うと擬似的に同じような機能を実現できます。
状況に関係なく使える技なので、覚えておくと便利かもしれません。

# 1秒ごとにコマンドを繰り返す。
$ watch -n1 <コマンド>

(例えば↑で watch -n1 go run main.go とかやっておけば1秒おきに実行してくれる)

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?