自分用に躓いた点をメモ。
どんどん追記していく予定です。
##まず$GOPATHって?
GOを勉強してまず最初に躓きました・・。
表題にもある$GOPATHってなに?ってことです。
一言で言えば、
$GOPATHはGO言語の開発を行うワークスペースである!
少し詳しく説明すると、
GOを使ったプログラムのソースコードや
コンパイルされたバイナリのパッケージを置くためのフォルダーを指すために、
GOPATHという環境変数を設定する必要がある。
GOプログラムの中でimportコマンドが記述されていると、
GOPATHで指定された対象のパッケージを探すこととなる。
##ディレクトリ作成
独特のプロジェクト構成があるので、覚えるためにも記載。
**myprojectディレクトリ(例)**を作成しそこを起点に,
bin,pkg,srcという3つのディレクトリを作成。
3つのディレクトリの役割としては以下参照。
bin → go install時の格納先
pkg → 依存パッケージのオブジェクトファイル
src → プログラムのソースコード
##環境変数GOPATHで指定する
myprojectディレクトリのパスをGOPATHという環境変数を指定する。
$ cd myproject
$ export GOPATH=`pwd` # myprojectをGOPATHに登録
##ゴルーチン(goroutine)って?
並行処理を実現するために必要な処理で、
Go言語の代表的な機能のうちの1つ。
goroutineとして並列実行させたい処理は、関数として実装する。
go 関数の呼び出し
頭にgoとつけるだけ!
呼び出し元とは別の実行単位で動作を開始して、
呼び出された関数が終了すると、そのgoroutineも同時に終了する。
この辺の動作、頭だけで理解しようとするとよくわからずパニックになったので
調べてみると沢山わかりやすくまとめられている記事がありました!
**「ゴルーチン とは」**で出てきます。
2019/07/24 ゴルーチンって? 追記