一、配置 Go 1.18 开发环境
1. install golang by brew
$ brew install go
2. set Path for Go
# .zshrc
# go
export GOROOT=/opt/homebrew/Cellar/go/1.18/libexec
export GOPATH=$HOME/workspace/project/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOPROXY=https://goproxy.cn,direct
export GOPRIVATE=XXX(具体的私有库,可根据自己的配置来定)
3. view go version
$ go version
go version go1.18 darwin/arm64
对于有些早期项目使用较低 Go 版本构建,使用「1.18」版本编译通不过,
这时需要支持 Go 多版本切换,安装「1.16」版本。
$ brew search go
$ brew unlink go
$ brew install go@1.16
$ brew link go@1.16
$ go version
go version go1.16.15 darwin/arm64
切换版本,也得切换对应的环境变量
export GOROOT=/opt/homebrew/Cellar/go@1.16/1.16.15/libexec
二、IDE 使用 VSCode
VSCode 中安装 Go 的扩展,让它支持 Go 语言开发
安装 Go 语言开发工具包,支持提供诸如代码提示、代码自动补全等功能
如果代码中使用了「golangci-lint、goimports、mockgen、modvendor」,则用下面命令安装。
$ GO111MODULE=off go get install github.com/goware/modvendor
$ GO111MODULE=off go get github.com/golang/mock/gomock
$ go install github.com/golang/mock/gomock
$ GO111MODULE=off go get github.com/golang/mock/mockgen
$ go install github.com/golang/mock/mockgen
$ GO111MODULE=off go get golang.org/x/tools/cmd/goimports
$ go install golang.org/x/tools/cmd/goimports
$ brew install golangci-lint
最后安装的 GO 开发辅助工具放在 bin 中
三、RPC相关
常用的 RPC 框架有两种,一种是「仅提供 RPC 调用能力」,如 grpc、Thrift 等, grpc 依赖了 Protocol Buffers(PB);另一种是「除了提供基本的RPC调用能力,还承载了各种服务治理功能」,如Dubbo、Motan、Spring Cloud等,与其说spring cloud是一个RPC框架,还不如说它是一个分布式系统解决方案,生态非常庞大。
如果仅仅是使用 RPC 调用功能,第一种 RPC 就能满足需要,要在 Go 项目中使用grpc、thrift,至少需要安装以下环境。
proto(proto>=3.5.0)
1. download
https://github.com/protocolbuffers/protobuf/releases/download/v3.5.0/protoc-3.5.0-osx-x86_64.zip
2. unzip
unzip protoc-3.5.0-osx-x86_64.zip -d protoc-3.5.0-osx-x86_64
3. mv
mv protoc-3.5.0-osx-x86_64/bin/protoc /usr/local/bin/protoc
4. validate
protoc --version
protoc-gen-go(protoc-gen-go==v1.3.2)
cd $GOPATH
mkdir -p src/github.com/golang
cd src/github.com/golang
wget https://github.com/golang/protobuf/archive/v1.3.2.zip
unzip v1.3.2.zip
mv protobuf-1.3.2 protobuf
cd protobuf
go install github.com/golang/protobuf/protoc-gen-go
thrift 安装
brew install thrift@0.9
echo 'export PATH="/usr/local/opt/thrift@0.9/bin:$PATH"' >> ~/.bashrc
Have Fun