LoginSignup
89
56

More than 3 years have passed since last update.

ぶっちゃけgo get の後に何が起きているかわからない人! 

Last updated at Posted at 2018-09-22

恥ずかしさはエンジニアの生きるエンジン

Go初心者の諸君!
GOPATH通し終えた君たちに質問がある
go get の後何が起きているか知ってるかい。
正直に言おう、僕は1ヶ月前まで思考停止していてただひたすらにgo get を使っていた。
その時の思考回路がこれだ!
①goでコードをかく
②エラー cannot find package "github.com/hoge"
③go get github.com/hoge する
④エラー解消
⑤よっしゃ go get 神!!
①に戻る
独学あるあるのとりあえずできるから仕組みはいいや的な発想ですね
こういう思考は理解を後回しにする習慣を形成して最終的にまとめて勉強する必要があるので、
なるべくわからないものが溜まる前に消化しておきたいものです。

それでは解説していきます。
まず、GOPATH通しましたよね
bash_profile or zshrc
つまり自分のシェルの設定ファイルにこんな記述をしましたよねって話

export  GOPATH =$HOME/go
export PATH=$PATH:$GOPATH/bin

この作業で何やってるのかわからない人は下の記事を読んでまたこの記事に戻ってください!

環境変数を知らなくて呆れた顔されたので1日で勉強した内容をまとめる↓
https://qiita.com/yu19991013/items/852e1c0f299ddd9d3efd

これで何ができるようになったかっていうと実は2つのことができるようになっています。
①go getが叩かれるとGoで書かれたコマンドラインツールの実行ファイルをGOPATH/bin配下に自動的に置いてくれます。
②①と同じタイミングでGOPATH/srcにパッケージのソースコードが置かれます。ちなみに、go getでは取得したパッケージの依存パッケージ(importの中に書いてあるパッケージ)も一緒にダウンロードしてくれます。

以上!自分がつまずいた経験を元に記事を書いてみました。

追記(2019 12/1)
この記事を書いて、約1年後
少しだけ詳しくなった状態でGoについてまとめた記事があります。こちらもぜひぜひチェックしてください!!!
脱初心者Gopherのための言語使用Tips

89
56
1

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
89
56