本記事は、自分用と他人用が半々の気持ちで書いています。
うp主はあまり賢く無いので、認識のおかしいところがあるかもしれません。
ここは違うのでは?と言う部分があればご指摘いただければと思います。
環境構築について
公式サイトからファイルを落としてきてインストール(https://go.dev/dl/)
/usr/local/goに入る
brew install go
でもインストールできるが、勝手に更新される可能性があるらしいので公式サイトを選択した。
バージョン管理はツールを追加しなくても公式でできるっぽい?
https://go.dev/doc/manage-install
↓
PATHを通す
ターミナルを開いてcd ~
してls -a
で.zshrcがあることを確認
vi .zshrc
でファイルを開きパスに関する記載を探して/usr/local/go/binを追記
pathに追記するのと
export PATH=〜
の違いをいまいち理解していないため追記の形をとっている
viの操作は最低限以下を覚えていれば問題ないと思う
i → 編集できる状態になる(編集をやめるときはescキーを押す)
u → 一つもどる(ctrl+Z的なやつ)
:q → 終了
:q! → 保存せず終了(Enterを押す必要あり)
ZZ → 保存して終了
↓
インストールの確認
ターミナルでgo version
を実行してバージョンが出てきたらOK
go.modファイルについて
モジュールを使用して開発する時に必要なファイルの認識。
モジュール名と依存するモジュールの情報が記録されており、go mod init [モジュール名]
で作成される。
検索して出てくる記事などには、[モジュール名]に以下の3パターンが設定されていて???となった。
example.com/~
github.com/[ユーザー名]/〜
hello
だけなど
githubにあげるならgithub.com/[ユーザー名]/[プロジェクト名]
あげないのであればなんでも良いと解釈した。
このファイルが無いとgo get
でエラーを吐く(吐いていたので吐くと思っている)
go mod tidy
を実行すると、ソースコードのimport内に記載されているパッケージの依存関係がgo.modに追加される。
モジュール?パッケージ?
大雑把な認識としては、パッケージはソースファイルの集合体(.goが格納されているディレクトリ)で、モジュールはパッケージの集合体。
go.modファイルのあるディレクトリがモジュールとなる。
以下の記事が分かりやすかった
https://qiita.com/WisteriaWave/items/60a1052981131f95fbf6
勉強に使ったあれこれ
A Tour of Go
チュートリアル的なサイト
実用Go言語
オライリー本ってやつ
正直あまり頭に入ってこない
Youtube
ドキュメントを読むのが苦手なので、テキストベースで分からないことがあった時は調べると意外と出てくる
Gopher道場は動画版チュートリアル的な感じでおすすめ
よく確認しそうなサイトのリンク
コマンド関連