好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Go語言的GOPATH與工作目錄詳解

Go語言的GOPATH與工作目錄詳解

熱門標(biāo)簽:外呼系統(tǒng)如何接收服務(wù)密碼 外呼系統(tǒng)多少錢一年 工商信用卡外呼系統(tǒng)教程 旅游廁所如何電子地圖標(biāo)注 客服級電銷機器人 海外照相館地圖標(biāo)注入駐 經(jīng)常接到推銷電話機器人的電話 智能營銷軟件 滁州自建外呼系統(tǒng)

GOPATH設(shè)置

go 命令依賴一個重要的環(huán)境變量:$GOPATH1

(注:這個不是Go安裝目錄。下面以筆者的工作目錄為說明,請?zhí)鎿Q自己機器上的工作目錄。)

在類似 Unix 環(huán)境大概這樣設(shè)置:

復(fù)制代碼 代碼如下:

    export GOPATH=/home/apple/mygo

為了方便,應(yīng)該把新建以上文件夾,并且把以上一行加入到 .bashrc 或者 .zshrc 或者自己的 sh 的配置文件中。

Windows 設(shè)置如下,新建一個環(huán)境變量名稱叫做GOPATH:

復(fù)制代碼 代碼如下:

    GOPATH=c:\mygo

GOPATH允許多個目錄,當(dāng)有多個目錄時,請注意分隔符,多個目錄的時候Windows是分號,Linux系統(tǒng)是冒號,當(dāng)有多個GOPATH時,默認會將go get的內(nèi)容放在第一個目錄下

以上 $GOPATH 目錄約定有三個子目錄:

1.src 存放源代碼(比如:.go .c .h .s等)
2.pkg 編譯后生成的文件(比如:.a)
3.bin 編譯后生成的可執(zhí)行文件(為了方便,可以把此目錄加入到 $PATH 變量中,如果有多個gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目錄)

以后我所有的例子都是以mygo作為我的gopath目錄

應(yīng)用目錄結(jié)構(gòu)

建立包和目錄:$GOPATH/src/mymath/sqrt.go(包名:"mymath")

以后自己新建應(yīng)用或者一個代碼包都是在src目錄下新建一個文件夾,文件夾名稱一般是代碼包名稱,當(dāng)然也允許多級目錄,例如在src下面新建了目錄$GOPATH/src/github.com/astaxie/beedb 那么這個包路徑就是“github.com/astaxie/beedb”,包名稱是最后一個目錄beedb

執(zhí)行如下代碼:

復(fù)制代碼 代碼如下:

cd $GOPATH/src
    mkdir mymath

新建文件sqrt.go,內(nèi)容如下:

復(fù)制代碼 代碼如下:

 // $GOPATH/src/mymath/sqrt.go源碼如下:
    package mymath

    func Sqrt(x float64) float64 {
        z := 0.0
        for i := 0; i 1000; i++ {
            z -= (z*z - x) / (2 * x)
        }
        return z
    }

這樣我的應(yīng)用包目錄和代碼已經(jīng)新建完畢,注意:一般建議package的名稱和目錄名保持一致

編譯應(yīng)用

上面我們已經(jīng)建立了自己的應(yīng)用包,如何進行編譯安裝呢?有兩種方式可以進行安裝

1、只要進入對應(yīng)的應(yīng)用包目錄,然后執(zhí)行g(shù)o install,就可以安裝了
2、在任意的目錄執(zhí)行如下代碼go install mymath

安裝完之后,我們可以進入如下目錄:

復(fù)制代碼 代碼如下:

 cd $GOPATH/pkg/${GOOS}_${GOARCH}
    //可以看到如下文件
    mymath.a

這個.a文件是應(yīng)用包,那么我們?nèi)绾芜M行調(diào)用呢?

接下來我們新建一個應(yīng)用程序來調(diào)用

新建應(yīng)用包mathapp:

復(fù)制代碼 代碼如下:

 cd $GOPATH/src
    mkdir mathapp
    cd mathapp
    vim main.go

// $GOPATH/src/mathapp/main.go源碼:

復(fù)制代碼 代碼如下:

    package main

    import (
          "mymath"
          "fmt"
    )

    func main() {
          fmt.Printf("Hello, world.  Sqrt(2) = %v\n", mymath.Sqrt(2))
    }

如何編譯程序呢?進入該應(yīng)用目錄,然后執(zhí)行g(shù)o build,那么在該目錄下面會生成一個mathapp的可執(zhí)行文件

復(fù)制代碼 代碼如下:

    ./mathapp

輸出如下內(nèi)容

復(fù)制代碼 代碼如下:

    Hello, world.  Sqrt(2) = 1.414213562373095

如何安裝該應(yīng)用,進入該目錄執(zhí)行g(shù)o install,那么在$GOPATH/bin/下增加了一個可執(zhí)行文件mathapp,這樣可以在命令行輸入如下命令就可以執(zhí)行

復(fù)制代碼 代碼如下:

mathapp

也是輸出如下內(nèi)容

復(fù)制代碼 代碼如下:

Hello, world.  Sqrt(2) = 1.414213562373095

獲取遠程包

go語言有一個獲取遠程包的工具就是go get,目前go get支持多數(shù)開源社區(qū)(例如:github、googlecode、bitbucket、Launchpad)

復(fù)制代碼 代碼如下:

go get github.com/astaxie/beedb

go get -u 參數(shù)可以自動更新包,而且當(dāng)go get的時候會自動獲取該包依賴的其他第三方包
通過這個命令可以獲取相應(yīng)的源碼,對應(yīng)的開源平臺采用不同的源碼控制工具,例如github采用git、googlecode采用hg,所以要想獲取這些源碼,必須先安裝相應(yīng)的源碼控制工具

通過上面獲取的代碼在我們本地的源碼相應(yīng)的代碼結(jié)構(gòu)如下:

復(fù)制代碼 代碼如下:

$GOPATH
  src
   |--github.com
          |-astaxie
              |-beedb
   pkg
    |--相應(yīng)平臺
         |-github.com
               |--astaxie
                    |beedb.a

go get本質(zhì)上可以理解為首先第一步是通過源碼工具clone代碼到src下面,然后執(zhí)行g(shù)o install

在代碼中如何使用遠程包,很簡單的就是和使用本地包一樣,只要在開頭import相應(yīng)的路徑就可以

復(fù)制代碼 代碼如下:

import "github.com/astaxie/beedb"

程序的整體結(jié)構(gòu)

通過上面建立的我本地的mygo的目錄結(jié)構(gòu)如下所示

復(fù)制代碼 代碼如下:

bin/
    mathapp
pkg/
    平臺名/ 如:darwin_amd64、linux_amd64
         mymath.a
         github.com/
              astaxie/
                   beedb.a
src/
    mathapp
          main.go
      mymath/
          sqrt.go
      github.com/
           astaxie/
                beedb/
                    beedb.go
                    util.go

從上面的結(jié)構(gòu)我們可以很清晰的看到,bin目錄下面存的是編譯之后可執(zhí)行的文件,pkg下面存放的是函數(shù)包,src下面保存的是應(yīng)用源代碼。

[1] Windows系統(tǒng)中環(huán)境變量的形式為%GOPATH%,本書主要使用Unix形式,Windows用戶請自行替換。

您可能感興趣的文章:
  • 解決GOPATH在GOLAND中的坑
  • 解析GOROOT、GOPATH、Go-Modules-三者的關(guān)系
  • go語言的工作空間和GOPATH環(huán)境變量介紹

標(biāo)簽:楚雄 深圳 本溪 湘潭 九江 運城 喀什 晉城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語言的GOPATH與工作目錄詳解》,本文關(guān)鍵詞  語言,的,GOPATH,與,工作,目錄,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go語言的GOPATH與工作目錄詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Go語言的GOPATH與工作目錄詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 亚洲五月六月丁香激情| 最美情侣国语版免费高清视频| 金萍梅电影| 嗯阿不要| 禁断介护gvg老人喂食免费| 将军边走边挺进她体内| 亚洲AV-狐狸精影对院| 深点再深一点好爽好多水| 阴茎入洞动态图| 77788色淫视频免费观看| 高清中文字幕在线A片| 单身男女韩剧免费观看| 久久久久久精品国产亚洲小蛇| 国模吧一区二区三区精品视频| 三级黄色免费电影| 女性口腔hpv照片| 成人黄色三级电影| 女人被三门齐开爽吗| 全免费A敌肛交毛片免费| 午夜诱惑痒痒网| 波多野结衣人妻上司部长| 国产精品亚洲怡红院的观看方式 | 百合两女互慰吃奶互蹭| 国产AV精品深夜福利网站| 日韩黄a级成人毛片| 麻豆产国品一二三产品区别| 潘金莲一级婬片AAAAA| 再深点灬舒服灬太大了h的| 又粗又硬又色又爽在线视频播放| 美国一级黄色| 夫妻性生活动态图| 久久综合久色欧美综合狠狠| JUY869和憧憬的上司出差| 在线看h高清视频网站| 无码人妻精品一区二区蜜桃在线看 | 男女性动态激烈动态XXOO| 国产精品亚洲玖玖玖在线靠爱| 装睡让滑进去| 男人进的越深越爽动态图| 亚洲精品少妇久久久久久希岛爱理| 日韩欧美中字|