2017-08-15 12 views
-2

ゴランの新しい人として、私は$GOPATHという概念に幾分難解です。

それはのを思い出す「システムは、フォルダパス」であることを私の経験では唯一のもの(C:\WindowsC:\Program Files)は、Microsoft Windows上で、それが何らかの形で概念的これに関連していますかmachines-?

私はそれfrom the go teamの説明を思えてきましたが、それはあまりにも実用的だし、それはそれはなぜとは反対に、約話します。

それでは、どうしてですか?

+1

プログラミングパラダイムとは何か関係がありますか?最も退屈な意味を除いて、*プログラミング*とは何の関係もありません。 – hobbs

答えて

1

GOPATHは、アプリケーションの依存関係がどこにインストールされているかを示す変数です。基本的には、アプリケーションが使用するパッケージを格納するディレクトリへのパスです。

妥当なサイズのアプリケーションには、依存関係がある。ゴランでは、これらはパッケージの形で来ます。コンパイル時には、実行ファイルを構築できるように、依存関係の場所(つまり使用しているパッケージ)を知る必要があります。

固定された所定の場所に格納することも、ユーザーが何らかの形で場所を指定することもできます。最初のアプローチには多くの短所があります(たとえば、異なるディレクトリ構造のオペレーティングシステムをサポートすることは不可能です)。したがって、goツールの設計者は、この変数を使用してユーザーを構成可能にすることにしました。これにより、異なるディレクトリ内の異なるプロジェクトの依存関係をグループ化する機能など、より柔軟なユーザーにも対応できます。

環境変数(GOPATHなど)の使用はgolangに限定されません。 JavaはCLASSPATH、PythonはPYTHONPATHなどです(それぞれの特徴は同じですが、基本的な役割は同じです)。

3

これは「インクルードパス」です。実際には(現代の)すべての言語が1つを使用しています。

C/C++の場合、少なくとも(Unix/Makefile環境では)LIBINCという環境変数の組み合わせです。

Perl(5)の場合、環境変数はPERLLIBまたはPERL5LIBです。

Pythonでは、これは環境変数PYTHONHOMEです。

Node.jsの場合は、NODE_PATHという変数です。

など

+0

ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ、私はたぶん説明する正しい言葉がありません –

+0

あなたは何を意味するのか分かりません。いずれの場合も、環境変数を設定する必要があります。そうしないと、言語を正しく使用できなくなります。行くことも変わりません。 – Flimzy

+0

ええ、私は前もって何かが正しく働いていることを確かめるために私の "pythonのパス"にいなければならなかった –