Golang
@202204
Packageとは
同じディレクトリに存在するソースコードファイル群のことです
ソースコードファイル群は一緒にコンパイルされます
同じPackageに所属するソースファイル間では、関数や変数などで共有されます
Goは、コンパイルして、ひとつの実行ファイルになる
Modulesとは
Packageの集合
一般的にGoリポジトリには1つのGoモジュールがリポジトリの直下に格納されています。
go.mod
Goモジュールのパスを書いておくファイル
go.sum
依存モジュールのチェックサム
Go Module
パッケージ管理
version 1.13からは、Go modulesというものを使うようになった
version指定などができる。
go.modファイルに、import?するpackageを記述する?
モジュールモード(go module), GOPATHモード($GOPATH/src)の2つのどちらか?
いつからかgo.modファイルがあるかどうかでGo Moduleを使うかどうかが変わるようになりました
install commandを記述する
---------------------以下は過去のものなので、整理したいが...
自分メモ
参照用
時々checkしたい
環境構築
gopath -> $HOME/go
go get, など、パッケージなどが個々に入る。
https://gyazo.com/a877ffcde72c74c49d8335e989d58519
自分がいま書いてるコードもGOPATH以下に置く、っていうのが他言語から来た人がハマるポイントだと思う。
git cloneしたパッケージの置き場は? このあたりから、消化できない。。。
go get
download, buildをするコマンド, 依存パッケージも入る。
... の意味
$ go get github.com/aaa/bbb/...
The ... (ellipsis) tells go get to also fetch the package's subpackages/dependencies.
参考