学ぶための最善の方法は実際にあります。ジンパッケージをインポートすることでの深度調査してみましょう。
環境
1.13.5を行きます
goland 2019年3月1日
Manjaro-gnome3.34.2
環境変数
我々はgolandをインストールする際に、より多くの重要な環境変数、すなわちGOROOTとGOPATHの数を設定することをまず思い出してください。
理解しやすいGOROOT。それは我々がそれの内側に何言語の標準ライブラリを行くインストールディレクトリです。Linuxでは、デフォルトでは、は/ usr / libに/行くためにインストール我々が持ってプロジェクトを作成するときに、これはSDKを選択します。
GOPATHは、作業ディレクトリとして理解することができます。GOPATHディレクトリを指定の下に、一般的に3つのサブディレクトリを持っています。次のとおりです。
GOPATH //go工作目录
|
|--bin //编译后生成的可执行文件
|
|--pkg //编译后生成的包/库文件
|
|--src //项目的源代码文件
binディレクトリには、理解しやすい、とのpkgパッケージが内部に取りに行くの後、袋のように、サードパーティのライブラリを置く場所です。プロジェクトのsrcディレクトリには、通常より多くのアイテムが共通のビンとpkgのあるこれらのプロジェクトのSRCディレクトリおよび一元管理、下に置かれますが、別のディレクトリにプロジェクトを入れた場合、その後、これらのプロジェクトが置かれ、ソースコードを置くことですGOPATHに、競合があるだろう明らかです。これは、一般的に推奨されていません。
私たちは、端末に入力することができますgo env
以下は、私の設定ディレクトリで、視聴環境変数:
実践ガイドパッケージ
今度は、新しいプロジェクト、実際に試して作成してみましょう。
次に、メインファイルを作成して入力します。
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run()
}
その後、ターミナルを開いて、MODのinitを行って入力し、直接実行する、あなたが直接実行する場合の直接のパッケージダウンロードのインポート、およびこの時間を見つけるでしょう、そして、直接実行することが判明したが、新聞が入力オートコンプリートではないだろう、赤ました。
以下のように、MODダニを移動するには、この時間だけで開いて設定、。そして、それを直接実行するか、IDEがあるため、赤の報告されません再度開きます。
もちろん、我々はまた、手動でちょうど行くgetコマンドを使用し、自分自身をダウンロードすることができます。
go get -u github.com/gin-gonic/gin
しかし、何の応答を発見した入力、go env
ビューと呼ばれる変数を発見しGO111MODULE
、このようなものは、それをやっている、一緒に行くのMODを設定するために使用され、そのようなパス、GOROOTの外出、またはMODで行く直接見に行くときのように。3つの状態があります。
GO111MODULE=auto
これはデフォルトで、自動的にいくつかの例をもとに行くのMODを開くかどうかを判断します。GO111MODULE=on
外出先でのMODを開きます。GO111MODULE=off
閉じる行くモッズ
于是我们输入go env -w GO111MODULE=on
打开go mod,再次输入go get -u github.com/gin-gonic/gin
,但是会发现下载的速度简直感人,这是因为服务器在国外的嘛,你懂得,我们可以设置代理。
go env -w GOPROXY=https://goproxy.cn,direct
再次go get,发现速度飞起,尝试run一下,如果出现报红问题,像上面那样解决一下。
当然我们也可以项目放到GOPATH目录以外。如下
同样的,如果要导包的话,像上面那样使用go mod就行了。
我们可以进入GOPATH目录下的pkg目录,会发现我们导入的包在这里面的。
我们也可以进入goland,
发现外部库有两个,一个是SDK,也就是go的安装目录(GOROOT),标准库就在这里的。另一个是go mod,就是我们刚刚导入的,放到GOPATH/pkg下的包。