校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Golang常用環境變量說明與設置詳解

Golang常用環境變量說明與設置詳解

熱門標簽:地圖標注測試 濮陽自動外呼系統代理 智能電銷機器人營銷 福州鐵通自動外呼系統 賺地圖標注的錢犯法嗎 澳門防封電銷卡 廣東語音外呼系統供應商 烏魯木齊人工電銷機器人系統 長沙ai機器人電銷

無論你是使用Windows,Linux還是Mac OS操作系統來開發Go應用程序,在安裝好Go安裝語言開發工具之后,都必須配置好Go語言開發所要求的 環境變量,才算初步完成Go開發環境的搭建。

但對于一些初學者來說,可能不太明白Go語言中常用的環境變量(Environment variables)的作用以及如何設置環境變量,今天我們來講講。

注意:Go提供的Windows操作系統安裝包(.msi后綴)安裝完成后,會自動配置幾個常用的環境變量。

常用環境變量

Go語言中可以設置的環境變量有很多,每個環境變量都有其作用,不過很多我們可能都用不到,一般需要了解也是最重要的有以下幾個:

$ go env //打印Go所有默認環境變量
$ go env GOPATH //打印某個環境變量的值

GOROOT

環境變量GOROOT表示Go語言的安裝目錄。

在Windows中,GOROOT的默認值是C:/go,而在Mac OS或Linux中GOROOT的默認值是usr/loca/go,如果將Go安裝在其他目錄中,而需要將GOROOT的值修改為對應的目錄。

另外,GOROOT/bin則包含Go為我們提供的工具鏈,因此,應該將GOROOT/bin配置到環境變量PATH中,方便我們在全局中使用Go工具鏈。

Linux設置GOROOT演示

export GOROOT=~/go
export PATH=$PATH:$GOROOT/bin

GOPATH

注意,GOPATH的值不能與GOROOT相同。

環境變量GOPATH用于指定我們的開發工作區(workspace),是存放源代碼、測試文件、庫靜態文件、可執行文件的工作。

在類Unix(Mac OS或Linux)操作系統中GOPATH的默認值是$home/go。而在Windows中GOPATH的默認值則為%USERPROFILE%\go(比如在Admin用戶,其值為C:\Users\Admin\go)。

當然,我們可以通過修改GOPATH來更換工作區,比如將工作設置opt/go方式如下:

Linux設置GOPATH演示

export GOPATH=/opt/go

還有,可以在GOPATH中設置多個工作區,如:

export GOPATH=/opt/go;$home/go

GOPATH的子目錄

上面的代碼表示我們指定兩個工作區,不過當我們使用go get命令去獲取遠程庫的時候,一般會安裝到第一個工作區當中。

按照Go開發規范,GOPATH目錄下的每個工作一般分為三個子目錄:src,pkg,bin,所以我們看到的每個工作區是這樣子的:

bin/

    hello                      # 可執行文件

    outyet                     # 可執行文件

src/

    github.com/golang/example/

        .git/                 

    hello/

        hello.go               # 命令行代碼

    outyet/

        main.go                # 命令行代碼

        main_test.go           # 測試代碼

    stringutil/

        reverse.go             # 庫文件

        reverse_test.go        # 庫文件

    golang.org/x/image/

        .git/                  

    bmp/

        reader.go              # 庫文件

        writer.go              # 庫文件

src目錄放的是我們開發的源代碼文件,其下面對應的目錄稱為包,pkg放的是編譯后的庫靜態文件,bin放的是源代碼編譯后臺的可執行文件。

GOBIN

環境變量GOBIN表示我們開發程序編譯后二進制命令的安裝目錄。

當我們使用go install命令編譯和打包應用程序時,該命令會將編譯后二進制程序打包GOBIN目錄,一般我們將GOBIN設置為GOPATH/bin目錄。

Linux設置GOBIN演示

export GOBIN=$GOPATH/bin

上面的代碼中,我們都是使用export命令設置環境變量的,這樣設置只能在當前shell中有效,如果想一直有效,如在Linux中,則應該將環境變量添加到/etc/profile等文件當中。

交叉編譯

什么是交叉編譯?所謂的交叉編譯,是指在一個平臺上就能生成可以在另一個平臺運行的代碼,例如,我們可以32位的Windows操作系統開發環境上,生成可以在64位Linux操作系統上運行的二進制程序。

在其他編程語言中進行交叉編譯可能要借助第三方工具,但在Go語言進行交叉編譯非常簡單,最簡單只需要設置GOOS和GOARCH這兩個環境變量就可以了。

GOOS與GOARCH

GOOS的默認值是我們當前的操作系統, 如果windows,linux,注意mac os操作的上的值是darwin。 GOARCH則表示CPU架構,如386,amd64,arm等。

獲取GOOS和GOARCH的值

我們可以使用go env命令獲取當前GOOS和GOARCH的值。

$ go env GOOS GOARCH

GOOS和GOARCH的取值范圍

GOOS和GOARCH的值成對出現,而且只能是下面列表對應的值。

$GOOS     $GOARCH

android     arm

darwin     386

darwin     amd64

darwin     arm

darwin     arm64

dragonfly   amd64

freebsd     386

freebsd     amd64

freebsd     arm

linux     386

linux     amd64

linux     arm

linux     arm64

linux     ppc64

linux     ppc64le

linux     mips

linux     mipsle

linux     mips64

linux     mips64le

linux     s390x

netbsd     386

netbsd     amd64

netbsd     arm

openbsd     386

openbsd     amd64

openbsd     arm

plan9     386

plan9     amd64

solaris     amd64

windows     386

windows     amd64

示例

編譯在64位Linux操作系統上運行的目標程序

$ GOOS=linux GOARCH=amd64 go build main.go

編譯arm架構Android操作上的目標程序

$ GOOS=android GOARCH=arm GOARM=7 go build main.go

環境變量列表

雖然我們一般雖然配置的環境變量就那么幾個,但其實Go語言是提供了非常多的環境變量,讓我們可以自由地定制開發和編譯器行為。

下面是Go提供的所有的環境變量列表,一般可以劃分為下面幾大類,大概了解一下就可以了,因為有些環境變量我們可以永遠都不會用到。

通過環境變量

GCCGO

GOARCH

GOBIN

GOCACHE

GOFLAGS

GOOS

GOPATH

GOPROXY

GORACE

GOROOT

GOTMPDIR

和cgo一起使用的環境變量

CC

CGO_ENABLED

CGO_CFLAGS

CGO_CFLAGS_ALLOW

CGO_CFLAGS_DISALLOW

CGO_CPPFLAGS, CGO_CPPFLAGS_ALLOW, CGO_CPPFLAGS_DISALLOW

CGO_CXXFLAGS, CGO_CXXFLAGS_ALLOW, CGO_CXXFLAGS_DISALLOW

CGO_FFLAGS, CGO_FFLAGS_ALLOW, CGO_FFLAGS_DISALLOW

CGO_LDFLAGS, CGO_LDFLAGS_ALLOW, CGO_LDFLAGS_DISALLOW

CXX

PKG_CONFIG

AR

與系統架構體系相關的環境變量

GOARM

GO386

GOMIPS

GOMIPS64

專用的環境變量

GCCGOTOOLDIR

GOROOT_FINAL

GO_EXTLINK_ENABLED

GIT_ALLOW_PROTOCOL

其他環境變量

GOEXE

GOHOSTARCH

GOHOSTOS

GOMOD

GOTOOLDIR

小結

環境變量的設置,可以影響我們開發和編譯項目的過程與結果,所以還是很有必要了解一下的。

更多關于Golang常用環境變量說明與設置請查看下面的相關鏈接

您可能感興趣的文章:
  • Golang實現web文件共享服務的示例代碼
  • 解決golang 關于全局變量的坑
  • 淺談golang并發操作變量安全的問題
  • Golang 變量申明的三種方式
  • Golang中的變量學習小結
  • 詳解Golang編程中的常量與變量
  • Golang開發中如何解決共享變量問題

標簽:阿克蘇 貴陽 德州 慶陽 廣西 調研邀請 西雙版納 太原

巨人網絡通訊聲明:本文標題《Golang常用環境變量說明與設置詳解》,本文關鍵詞  Golang,常用,環境,變量,說明,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Golang常用環境變量說明與設置詳解》相關的同類信息!
  • 本頁收集關于Golang常用環境變量說明與設置詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产精品美女久久久久aⅴ| 亚洲精品成人天堂一二三| 国产亲近乱来精品视频| 国产精品激情偷乱一区二区∴| 国产精品美女久久久久久2018 | 麻豆精品精品国产自在97香蕉| 国产一区二区三区久久久| 99热精品一区二区| 欧美精品v日韩精品v韩国精品v| 精品国产免费人成在线观看| 亚洲图片你懂的| 热久久一区二区| 91社区在线播放| 日韩欧美亚洲国产精品字幕久久久| 国产精品久久久久久久蜜臀| 丝袜诱惑制服诱惑色一区在线观看| 国产在线不卡一区| 91在线视频免费观看| 91网站黄www| 欧美精品在线视频| 国产精品的网站| 午夜精彩视频在线观看不卡| 国产毛片精品一区| 欧美视频完全免费看| 久久精品免视看| 亚洲第一会所有码转帖| 国产一区二区毛片| 欧美日韩亚洲综合一区二区三区| 91精品国产综合久久久久| 国产视频在线观看一区二区三区| 日本欧美在线看| 欧美三级中文字幕| 亚洲视频一区在线| 一本一本久久a久久精品综合麻豆| 精品国精品国产| 成人一道本在线| 国产大片一区二区| 在线电影院国产精品| 综合久久国产九一剧情麻豆| 韩国女主播成人在线| 欧美狂野另类xxxxoooo| 国产精品久99| 国产成人啪免费观看软件| 99精品桃花视频在线观看| 欧美精品一区二区三区在线| 亚洲国产精品久久久男人的天堂| 成人av电影在线| 国产亚洲污的网站| 蜜桃av一区二区在线观看| 欧美少妇一区二区| 亚洲欧洲av在线| 成人午夜视频福利| 国产午夜精品一区二区三区视频| 免费观看久久久4p| 欧美高清视频不卡网| 亚洲h在线观看| 亚洲欧美国产77777| 风间由美中文字幕在线看视频国产欧美| 欧美日韩一区不卡| 国产精品美女久久久久久久久| 韩国精品在线观看| 日韩欧美一二三| 蜜臀av在线播放一区二区三区 | 国产精品视频麻豆| 国产一本一道久久香蕉| 欧美精品一区男女天堂| 狠狠狠色丁香婷婷综合久久五月| 日韩一区二区三区精品视频| 日本怡春院一区二区| 3d动漫精品啪啪一区二区竹菊 | 欧美亚州韩日在线看免费版国语版| 亚洲天天做日日做天天谢日日欢| 亚洲在线观看免费视频| 精品91自产拍在线观看一区| 日韩美女视频在线| 欧美三级在线看| 精品少妇一区二区三区在线播放 | 欧美日韩卡一卡二| 婷婷六月综合亚洲| 亚洲色图欧美在线| 在线不卡中文字幕播放| 国产凹凸在线观看一区二区 | 美国十次了思思久久精品导航| 色综合网色综合| 亚洲乱码国产乱码精品精98午夜| 色综合久久久网| 亚洲一区二区三区美女| 欧美日韩一级黄| 蜜桃91丨九色丨蝌蚪91桃色| 久久免费视频色| 成人avav影音| 亚洲成人先锋电影| 在线播放91灌醉迷j高跟美女 | 欧美日韩中文字幕一区二区| 日韩理论片在线| 欧美午夜精品久久久久久孕妇| 亚洲一区二区黄色| 日韩一区二区三区在线视频| 国产一区二区电影| 亚洲女与黑人做爰| 欧美午夜影院一区| 亚洲综合999| 亚洲免费观看高清在线观看| 欧美xxxx老人做受| 欧美视频在线不卡| 午夜精品视频在线观看| 日韩久久久精品| 成人午夜短视频| 亚洲综合另类小说| 精品人伦一区二区色婷婷| 大美女一区二区三区| 亚洲国产精品久久人人爱蜜臀 | 欧美精品一区二区三区一线天视频 | 欧美少妇xxx| 精品一区二区三区蜜桃| 亚洲日本va午夜在线影院| 欧美人妖巨大在线| 久久久精品蜜桃| 一区二区三区在线播放| 欧美精品一区二区三区视频| 精品一区二区三区免费播放| 色综合久久久久久久久| 欧美日韩高清一区二区三区| 欧美三级在线视频| 亚洲乱码国产乱码精品精可以看| 亚洲高清视频中文字幕| 偷拍一区二区三区| 国产一区二区在线视频| 成人av小说网| 成人黄色av网站在线| 国产不卡免费视频| 欧美专区亚洲专区| 日韩欧美三级在线| 国产三级精品视频| 亚洲一区二区三区影院| 精品一区二区影视| 成人av动漫在线| 日韩视频免费观看高清完整版在线观看 | 91国产免费看| 精品一区二区av| 亚洲综合在线五月| 亚洲国产精品精华液2区45| 国产精品热久久久久夜色精品三区| 亚洲成人精品一区| 丁香婷婷综合激情五月色| 日韩欧美一区中文| 精品综合免费视频观看| 亚洲一区在线观看免费观看电影高清| 精品国产乱码久久久久久久久 | 欧美—级在线免费片| 欧美日本精品一区二区三区| 99久久99久久免费精品蜜臀| 国产乱码精品一区二区三| 亚洲18影院在线观看| 亚洲精品五月天| 国产精品久久久久影院色老大| 日韩女优av电影在线观看| 欧美日韩国产综合草草| 91亚洲男人天堂| 成人美女在线视频| 国产在线不卡一区| 九九国产精品视频| 久久国内精品视频| 免费美女久久99| 日韩成人精品在线| 亚洲成av人片在线| 亚洲美女偷拍久久| 综合色中文字幕| 国产精品国产三级国产三级人妇| 久久女同互慰一区二区三区| 日韩美女在线视频| 精品国一区二区三区| 欧美一级理论片| 这里只有精品免费| 91精品麻豆日日躁夜夜躁| 色婷婷精品大视频在线蜜桃视频| 亚洲另类春色国产| 欧美日韩在线播放| 日本中文一区二区三区| 日韩一区二区三| 亚洲一本大道在线| 国产欧美精品国产国产专区| 韩国精品在线观看| 亚洲一区二区视频在线| 91精品久久久久久久91蜜桃| 亚洲欧美日韩国产手机在线| 国产精品国产三级国产aⅴ中文| 国产一区二区三区四| 亚洲精品一线二线三线无人区| 国内久久婷婷综合| 国产精品免费观看视频| 91免费看视频| 丝袜亚洲另类欧美| 精品999久久久| 色八戒一区二区三区| 三级在线观看一区二区| 精品久久人人做人人爰| 91偷拍与自偷拍精品| 亚洲六月丁香色婷婷综合久久| 久久久精品黄色|