teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

go-moduleの説明追記

2020/11/03 23:48

投稿

nobonobo
nobonobo

スコア3367

answer CHANGED
@@ -2,4 +2,18 @@
2
2
 
3
3
  という事は、 [github.com/mdempsky/gocode](https://github.com/mdempsky/gocode) のトップページに記述されていますので、困ったときは各リポジトリの状況を見にいくと良いでしょう。
4
4
 
5
- 年単位で更新されていない場合は何らかの理由で他のツールに移行してしまった場合が多いです。
5
+ 年単位で更新されていない場合は何らかの理由で他のツールに移行してしまった場合が多いです。
6
+
7
+ ### go-moduleとは
8
+
9
+ Go1.11に実装された「モジュールモード」と呼ばれるモードのことです。それ以前まではGOPATHの配下にあらゆるパッケージをツリー状において扱っていました。
10
+
11
+ 単数または複数のパッケージを取りまとめたものを「モジュール」として扱うモードで、今後はこのモジュール単位で依存管理を行うのが一般的になります。
12
+
13
+ モジュールモードは以前のGOPATH縛りを無くし、モジュール単位の独立した単位で依存管理するモードです。
14
+ モジュールを利用する側は今までと変わらず、go-getできます。
15
+ モジュールを作成する側は任意のフォルダで「go mod init 名前」でモジュールを命名してそこを作業フォルダとすることができます。
16
+
17
+ モジュールモードはGOPATHの時と違ってバージョンを管理します。異なるバージョンは別のものとして管理し、ビルド時には決まったバージョンを利用するようになるので、GOPATHをプロジェクトごとに切り替えるという必要もなくなります。
18
+
19
+ ちょっと挙動が分かりにくいかもしれませんが、もうモジュールモードを前提にしてGo言語でコードを書くことをお勧めします。

1

追記

2020/11/03 23:48

投稿

nobonobo
nobonobo

スコア3367

answer CHANGED
@@ -1,1 +1,5 @@
1
- gocodeはもう非推奨でgo-moduleサポートなコード補完は新しいgoplsというツールに引き継がれました。
1
+ gocodeはもう非推奨でgo-moduleサポートなコード補完は新しいgoplsというツールに引き継がれました。
2
+
3
+ という事は、 [github.com/mdempsky/gocode](https://github.com/mdempsky/gocode) のトップページに記述されていますので、困ったときは各リポジトリの状況を見にいくと良いでしょう。
4
+
5
+ 年単位で更新されていない場合は何らかの理由で他のツールに移行してしまった場合が多いです。