📝
GoでCLIツール(コマンド)を作る
はじめに
CLIって本当に魅力的ですよね。特にあのコマンドを叩いた時の快感、誰もが経験しているでしょう。
今回はそのコマンドをGoで作る方法を紹介していきたいと思います。
なぜGoなのか
なぜGoでCLIを作るのか。
- 速い
- リリースしやすい
などの理由があります。
実際に作っていく
実際に作っていきます。Goはインストール済みと考えます。
環境
まず最初に適当なディレクトリを作ってください。
mkdir hello
cd hello
次にGithubで新しいリポジトリを作ります。同じ名前のhelloという空のリポジトリを作ったとしましょう。
以下のコマンドをディレクトリの中で打ちます。
go mod init github.com/user/hello
すると、go.modというファイルが作られます。これは設定用のファイルです。
コード
次にメインとなるCLIツールのプログラムを書いていきます。コマンドを入力すると、いつも通りHello,Worldを表示するプログラムです。ファイル名がコマンド名になります。
hello.go
package main
func main(){
println("Hello World!")
}
easy if you tryですよね?
インストール
さてここからが本番です。
試しに動くかどうかやってみましょう。
go run hello.go
Hello World!
環境変数
インストールにはgo installを使うのですが、このままだと実行ファイルが生成されるだけで、コマンドは追加されません。
実際にコマンドとして使うには手動で(ただし一回のみ)環境変数を設定する必要があります。
具体的には、これらを.bashrcまたは各ターミナルの設定ファイルに追加します。
.bashrc
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
ターミナルに反映させます。
source ~/.bashrc
インストール
go install
go install hello.go
これでインストールできました。
実際にhelloを打つと。。。
ちゃんとHello!と表示されました。
まとめ
コマンドを作るのはとても簡単です。どんどん便利なコマンドをじゃんじゃん作ってしまいましょう!
Discussion