由於之前專案依賴到了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...