2020/02/04

[golang]よく使うコマンド v1.13

ブログは久しぶりだが、golangも久しぶりだ。
歳を取るというのは困ったもので、コマンドが思い出せない・・・。

自分のためにメモを残そう。


環境変数

GOPATHだけ設定しておけば事足りる。

 

ディレクトリ

GOPATHの下に、bin, pkg, srcディレクトリを作れば良い。

作業場所は、srcの下になる。
githubなどで管理しないなら、srcの下に直接ディレクトリを掘って、そこで作業すれば良いだろう。
githubなどを使うなら、src/github.com/<githubのアカウント>/<githubのリポジトリ>、というディレクトリを作って、そこで作業すれば良いだろう。

 

go.mod

最近は、go.modを使うのがよさそうだ。
作業するディレクトリの一番上で、go mod init、でデフォルトのgo.modファイルができる。
あとはgo getすれば関連するパッケージなんかもダウンロードしてくれる。

が、go getは難しいコマンドだと思うのだよ、私は。
使うのは-dか-uくらいだと思う。
環境変数で動作が変わったりするから難しいと思うのだろうか。

"go get"だけだと、src/にダウンロードしているようだ。これはcacheを使っていないような感じがする。ただ、go.modファイルは使わないようだ。

"go get -u"は、go.modがないと動作しない。go.modがあればpkg/にダウンロード。キャッシュがあるならそれを使う?

"go get -d"は、src/にダウンロード。キャッシュがあるならそれを使う?

go.modがあると、キャッシュがあればそれを使っているように見える。終わるまでが早いからだ。

 

よくわからないのが、go.modの更新。
go get -u やgo get -d を使うと、go.modも更新されるようなのだ。go getを使うとdependencyを追加するようなことが書かれているので、オプション無しでも更新されていたのかもしれん。

 

clean

消すコマンドもある。

go cleanだと、たぶんカレントディレクトリでビルドしてあるものを削除してくれる。binまでは消えないのか。

go clean -modcache、で$GOPATH/pkgにあるmodの中を消してくれる。そうしないとsudoなどで消さないといけないこともあるのだ。

go clean -cacheは、~/.cache/go-build/ 以下にあるgo getで取得したキャッシュを消してくれる。

 

buildとrun

go buildとgo runがある。
パスを書くときとか、goファイル名を書くときとか、実はよく理解してない。。。
基本的には、mainがあるファイル名を指定しておけばいいんじゃないかなぁ。


 

こういう、自分でも後から見たい情報は、ブログだと探すのが面倒なのよねぇ。
scrapboxを仕事で使ってるけど、個人だと無料で使えるようなので、使ってみようかしら。

 

https://scrapbox.io/hiro9ma-93873243/golang_-_command

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。