📝

GoでCLIツール(コマンド)を作る

2023/03/18に公開約1,200字

はじめに

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

ログインするとコメントできます