一、macos
3、建立gopath路徑 $home/go
4、配置環境變數
cd ~
vim .bash_profile
export goroot=/usr/local/go
export path=$path:/$goroot
export gopath=$home/go
二、linux
wget
sudo tar -c /usr/local -xzf go1.14.1.linux-amd64.tar.gz
2、新增環境變數
cd ~
mkdir go
sudo vim .bashrc #新增以下內容
export goroot=/usr/local/go #定義goroot
export path=$path:$goroot/bin #新增go/bin到系統環境變數path中
export gopath=$home/go #新增gopath變數
三、golang命令
# 檢視golang版本
go version
go version go1.14 darwin/amd64
#檢視全部環境變數
go env
goroot=/usr/local/go
gopath=/users/kuncao/go
export path=$path:$goroot/bin:$gopath/bin
export path=$path:/users/kuncao/.pyenv/bin
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
kundembp:~ kuncao$ go version
go version go1.14 darwin/amd64
kundembp:~ kuncao$ go env
go111module=""
goarch="amd64"
gobin=""
gocache="/users/kuncao/library/caches/go-build"
goexe=""
goflags=""
gohostarch="amd64"
gohostos="darwin"
goinsecure=""
gonoproxy=""
gonosumdb=""
goos="darwin"
gopath="/users/kuncao/go"
goprivate=""
goproxy=""
goroot="/usr/local/go"
gosumdb="sum.golang.org"
gotmpdir=""
gotooldir="/usr/local/go/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/k5/fjnm1dj50ls1k0nj2j50vsvh0000gn/t/go-build666397507=/tmp/go-build -gno-record-gcc-switches -fno-common"
# 檢視goroot
go env goroot
/usr/local/go
# 檢視gopath
go env gopath
/users/kuncao/go
1 Golang執行緒安全(簡單例子)
var money int 0 func add pint int func addmoney time.sleep time.second 5 fmt.println money 預期結果是100000000,但是由於add方法是協程方式呼叫的,存在併發的情況,導致結果不符合預期。全域性變數 va...
golang開發筆記No 1
問題 下面這段 輸出 func main m make map int int for key,val range slice for k,v range m 結果 0 3 1 3 2 3 3 3參考解析 這是新手常會犯的錯誤寫法,for range 迴圈的時候會建立每個元素的副本,而不是元素的引用...
Golang學習筆記
如果乙個method的receiver是 t,你可以在乙個t型別的例項變數v上面呼叫這個method,而不需要 v去呼叫這個method 即不需要 v method 如果乙個method的receiver是t,你可以在乙個 t型別的變數p上呼叫這個method,而不需要 p去呼叫這個method。i...