ハマったので流し書きメモ。
0. 前提
0-1. mainパッケージ
Go言語のプログラムはパッケージ(package)で構成されており、プログラムは main
パッケージから開始される。
プログラム実行時の処理開始位置の main
パッケージあるいは main
関数を『エントリポイント』と呼ぶ。
0-2. import文
他のパッケージのメンバにアクセスするには、 import
文を使用します。 import
文によって読み込んだパッケージのメンバへのアクセスは、 パッケージ名.メンバ名
という形で行う。
https://go-tour-jp.appspot.com/basics/1
http://cuto.unirita.co.jp/gostudy/post/go-package/
1. import時の注意点
main
パッケージが大きくなってきた時、処理を複数の関数あるいはファイルに分割したい。
その時、import文では、 新しく作った独自パッケージへのパスとして、 $GOPATH/src
直下のディレクトリから、パッケージファイル(*.go)の直上のディレクトリまでを指定する 。←これが言いたかっただけ。
※GOPATHとは、開発時の作業ディレクトリのこと。
http://cuto.unirita.co.jp/gostudy/post/gopath/
https://teratail.com/questions/207345
2. Go Modulesについて
現在Go言語を使用したアプリケーション開発の依存関係管理では、基本的にGo Modulesを使うっぽい。
https://qiita.com/momotaro98/items/23fa4356389a7e610acc
https://qiita.com/lp-peg/items/9f7da97d9f7292f16fbc
実際やってみたが、楽で良い。
importするパスは、自分のプロジェクトルートディレクトリ直下のディレクトリ名から、importしたいパッケージの直上のディレクトリまで。
$ go mod init 自分のプロジェクト名
$ go build
$ 自分のプロジェクト名