go系列1 go的安裝(mac)

2021-10-10 11:06:05 字數 2405 閱讀 2722

由於之前專案依賴到了k8s,且與k8s的整合比較多,而k8s的原始碼是go寫的,網上搜尋了一大堆關於go的資訊,

發現很多雲原生的專案都是由go寫的,所以又來折騰以下go語言,因為之前用brew install mac安裝了go,也用了

pkg包安裝了go,所以環境夠的很亂,至此,特定來清理一下

brew install go

注意:第一種方式安裝,go可執行檔案在/usr/local/bin下,其實這個目錄下的go是乙個軟連線,

➜  bin ll /usr/local/bin |grep go

lrwxr-xr-x 1 ljh admin 26 9 28 10:46 go -> ../cellar/go/1.15.2/bin/go

lrwxr-xr-x 1 ljh admin 29 9 28 10:46 godoc -> ../cellar/go/1.15.2/bin/godoc

lrwxr-xr-x 1 ljh admin 29 9 28 10:46 gofmt -> ../cellar/go/1.15.2/bin/gofmt

我們發現其實這個是鏈結到了brew install的go的安裝目錄下了

第二種方式安裝,go的可執行檔案在/usr/local/go/bin下,這個是go pkg包預設的安裝目錄

但是無論怎麼安裝,都得配置gopath/gobin/path,如下, 這三個變數稍後做解釋

#go

export gopath=/users/ljh/go

export gobin=$gopath/bin

export path=$path:$gobin

這個時候,執行go env

go111module=""

goarch="amd64"

gobin="/users/ljh/go/bin"

gocache="/users/ljh/library/caches/go-build"

goexe=""

goflags=""

gohostarch="amd64"

gohostos="darwin"

goinsecure=""

gomodcache="/users/ljh/go/pkg/mod"

gonoproxy=""

gonosumdb=""

goos="darwin"

gopath="/users/ljh/go"

goprivate=""

goproxy=""

goroot="/usr/local/cellar/go/1.15.2/libexec"

gosumdb="sum.golang.org"

gotmpdir=""

gotooldir="/usr/local/cellar/go/1.15.2/libexec/pkg/tool/darwin_amd64"

gccgo="gccgo"

ar="ar"

cc="clang"

cxx="clang++"

cgo_enabled="1"

gomod=""

cgo_cflags="-g -o2"

cgo_cppflags=""

cgo_cxxflags="-g -o2"

cgo_fflags="-g -o2"

cgo_ldflags="-g -o2"

pkg_config="pkg-config"

gogccflags="-fpic -m64 -pthread -fno-caret-diagnostics -qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/1l/mwvs7rf563x72kqcv7l6rb840000gn/t/go-build705548469=/tmp/go-build -gno-record-gcc-switches -fno-common"

發現還有乙個goroot,下面我們來解釋一下

名詞解釋

goroot

go語言安裝目錄

gopath

工程專案workspace

gobin

可執行檔案目錄,如go install 會生成可執行檔案直接放到bin目錄下

而gopath也會包含三個目錄

名詞解釋

src原始檔

pkg編譯好的庫檔案,主要是*.a檔案,如go install 把編譯的普通的包放到該pkg目錄下

bin可執行檔案目錄,如go install 會生成可執行檔案直接放到bin目錄下

一般來說,得將go可執行檔案目錄($)加入path中,使go命令與我們編寫的go應用可以全域性呼叫,

這樣我們就完成了golang的安裝了

程式語言(1) Go 語言環境安裝

go 語言支援以下系統 各個系統對應的包名 作業系統 包名windows 以下介紹了在unix linux mac os x,和 freebsd系統下使用原始碼安裝方法 tar c usr local xzf go1 4.linux amd64 tar gz3 將 usr local go bin ...

1 Go變數宣告 賦值和常量

先簡單了解一下控制台輸出,在go中,我們使用fmt包中的函式進行在控制台中列印,一般用以下幾個函式 fmt.print 不換行輸出 fmt.printf 字串格式化輸出 同c語言 fmt.println 帶換行輸出 fmt.fprintf fmt.fprint fmt.fprintln 指定輸出流 ...

go系列(1) linux下安裝go環境

經檢視go的最新版本為go1.11.4.linux amd64.tar.gz tar c usr local xzf go1.4.linux amd64.tar.gz3.開啟 etc profile檔案 sudo vim etc profile4.將 usr local go bin 目錄新增至pa...