0
1

More than 3 years have passed since last update.

Golangのパッケージ周りを整理する

Last updated at Posted at 2020-01-26

以下のキーワードをあんまり理解できていなかったので調べてまとめた。(随時調べて更新していく)

  • コンパイルとビルドの違い
  • Golangのパッケージとモジュールとライブラリの違い
  • $GOPATH/go/配下のsrc,pkg,binの違い()

コンパイルとビルドの違い

ここによると

  • コンパイル = ソースコードをオブジェクトコードに変換すること
  • リンク = オブジェクトコードをくっつけて一つのバイナリコードにする
  • ビルド = コンパイル + リンク

パッケージとモジュールとライブラリの違い

  • 同一パッケージのファイルは同一フォルダ$GOPATH/src/(package名)/などに含める(1つのディレクトリには1種類のパッケージ定義のみ許容される)。
  • 同じパッケージに属するファイルは互いに丸見え。これらはまとめてコンパイルされる。
  • main packageに属するファイルに関しては$GOPATH/src/配下に直置き。複数ある場合は go build *.goでビルド
  • 自分のアプリを作る場合はgo mod init (モジュール名)で始める。

  • ライブラリは(main packageを含まない)packageの集まり。ビルドして一つのバイナリになる。

パッケージのインポート

  • $GOPATH/src/配下のパッケージはimport (package名)で。
  • 同プロジェクト内のパッケージはimport (module名).(package名)で。
  • スクリプト内でパッケージ名を省略して関数や構造体を呼び出すには. import (package名)で。
0
1
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
0
1