欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

golang中gopath的介紹

這篇文章主要介紹了golang中gopath工具,具有一定借鑒價值,需要的朋友可以參考下。如下資料是關于gopath的詳細步驟內(nèi)容。

創(chuàng)新互聯(lián)主要從事網(wǎng)頁設計、PC網(wǎng)站建設(電腦版網(wǎng)站建設)、wap網(wǎng)站建設(手機版網(wǎng)站建設)、成都響應式網(wǎng)站建設、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、小程序設計等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)積累了豐富的網(wǎng)站設計、成都網(wǎng)站建設、網(wǎng)站設計、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設計、營銷、管理等多方位專業(yè)化運作于一體。

前言

  • 在本章中,我們將介紹go語言的項目結構、項目管理以及依賴管理。在本文中,我們關注gopath

gopath是什么

  • 在go語言開發(fā)環(huán)境配置文章中,我們介紹了配置gopathgoroot環(huán)境變量的步驟,但是并沒有對其進行深入解釋。可以在終端輸入 go env 或者go env gopath查看具體的配置

C:\Windows\system32> go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\jackson\AppData\Local\go-build
set GOENV=C:\Users\jackson\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\jackson\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
...
  • 在go1.8之后,如果不指定gopath,則gopath是默認的。

    • 在mac,linux下為$HOME/go

    • windows 下為%USERPROFILE%\g

  • gopath 可以理解為go語言的工作空間,內(nèi)部存儲了src,bin,pkg 三個文件夾

go/
├── bin
├── pkg
└── src
  • $GOPATH/bin目錄存儲了通過go install 安裝的二進制文件。操作系統(tǒng)使用PATH變量中

  • $GOPATH/pkg目錄中,會存儲預編譯的obj文件(文件名根據(jù)操作系統(tǒng)的不同而不同,例如mac下為darwin_amd64),以加快程序的后續(xù)編譯。大多數(shù)開發(fā)人員不需要訪問此目錄。后面還會介紹,pkg下的mod文件還會存儲go module的依賴。

  • $GOPATH/src目錄 存儲我們項目的go代碼。通常包含許多版本控制存儲庫(例如,由Git管理),每個存儲庫都包含了一個或多個package,每個package都在一個目錄中包含一個或多個Go源文件。

  • 因此,整個路徑看起來像是:

go/
├── bin
     └── main.exe
├── pkg
     ├── darwin_amd64
     └── mod
└── src
    ├── github.com
    │   ├── tylfin
    │   │   ├── dynatomic
    │   │   └── geospy
    │   └── uudashr
    │       └── gopkgs
    └── golang.org
        └── x
            └── tools
  • gopath具有多個作用,當我們想從github或其他地方獲取go項目代碼時,我們可以使用go get指令。 此時程序會默認的將代碼存儲到$GOPATH/src目錄中。例如拉取go get github.com/dreamerjackson/theWayToGolang時,目錄結構如下:

go/
├── bin
├── pkg
└── src
    └── github.com
           └── dreamerjackson
                     └── theWayToGolang
  • 當我們使用go get-u參數(shù)時,會將該項目以及項目所依賴的所有其他項目一并下載到$GOPATH/src目錄中

  • gopath的另一個功能是明確package的導入位置。前文我們介紹過,go代碼通過package進行組織,在helloworl程序中,我們導入了go語言內(nèi)置的fmt package.當我們要導入第三方時應該怎么做呢?其實如果我們在項目中導入了一個第三方包,例如

import "blue/red"

實際引用的是$GOPATH/src/blue/red 文件中的代碼。

同理,如果導入為

import "github.com/gobuffalo/buffalo"

實際引用的是$GOPATH/src/github.com/gobuffalo/buffalo 文件中的代碼。

下面我們用一個例子來說明導入第三方包

  • 首先在$GOPATH/src中新建一個文件夾mymath,在文件夾中新建一個文件add.go

? mkdir mymath
? cd mymath
? touch add.go

add.go的內(nèi)容如下,要注意導出的函數(shù)必須是首字母大寫的,這是go語言的規(guī)則。

package mymath

func Add(a int, b int) int {
    return a + b
}

接著在$GOPATH/src中創(chuàng)建一個main.go文件,即可以完整的調用mymath包中的add函數(shù)。

package main

import (
    "fmt"
    "mymath"
)

func main() {
    result := mymath.Add(1, 2)
    fmt.Println("result:", result)
}
  • 通過go run main.go 即可運行輸出1+2的結果3

gopath的優(yōu)劣

  • 相比于其他語言繁瑣的配置,go語言中的工作空間gopath配置相對簡單,容易理解

  • gopath使得在文件系統(tǒng)組織整個代碼更加簡潔、結構化,但是限制在單一的工作空間中。

  • gopath并沒有解決版本依賴的問題,而將其留給了其他工具去實現(xiàn)。正因為如此,gopath中的代碼就是一個唯一的master分支,并且強制使用各個模塊最新的代碼。

總結

  • 本文介紹了gopath的含義、功能、優(yōu)劣、以及如何通過GOPATH來組織項目,導入第三方庫。

  • 在go1.13之后,go官方已經(jīng)開始全面擁抱go module.

  • 關于gopath就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。

網(wǎng)站名稱:golang中gopath的介紹
分享鏈接:http://aaarwkj.com/article46/jjpchg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名網(wǎng)頁設計公司、網(wǎng)站建設、建站公司、標簽優(yōu)化、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設
偷拍大神女厕偷拍作品| 国产夫妻自拍在线视频| 精品蜜桃臀91人少妇| 白白色成人永久在线观看视频| 亚洲欧美日韩另类在线视频| 日韩黄色一级片免费看| 永久永久免费黄色一级片| 亚洲国产成人综合一区二区三区| 中文字幕你懂的在线观看| 亚洲av色国产精品色午含羞草| 视频一区二区视频三区| 羞涩插射视频网站在线观看| 99热这里有精品久久| 蜜桃av在线播放视频| 国产亚洲精品第一综合| 欧美一级纯黄电影视频| 亚洲欧美日韩国产一区二区三区 | 人体艺术日韩色噜噜| 国产老太婆精品久久久久| 亚洲一区二区三区四区国产| 人妻丝袜中文字幕在线| 国产婷婷色三区一区二区| 亚洲国产中日韩精品综合| 特别黄的日本免费视频| 91麻豆精品国产91久| 久久精品国产91麻豆| 在线国产丝袜自拍观看| 香港精品国产三级国产av| 亚洲精品熟女一区二区三区| 国产精品美女丝袜久久久| 亚洲七七久久精品中文国产| 91国内偷拍富婆国内精品对白 | 手机在线看国产后入| 在线观看一区二区三区国产视频| 黄色资源网日韩三级一区二区| 91在线观看高清免费| 午夜精品三级一区二区三区| 蜜桃av网站免费观看| 日韩精品在线观看天堂| 九九在线视频精品免费播放| 亚洲欧美国产日韩综合在线|