[TOC]
Mac OS golang 开发环境搭建
先决条件
- 网络, 科学上网找教程, 省事点直接App Store下载RocketVPN
- Homebrew, 强烈推荐. 没安装的请参考Homebrew详解
- git, github clone代码安装
安装
Homebrew安装
brew update && brew upgrade
brew install go
# or upgrade
# brew upgrade go -v=1.11.4
go -h
go version
# uninstall
# brew uninstall go
源码安装
- https://github.com/golang/go.git or https://go.googlesource.com/go
- Go工具链使用golang写成, 因此需要先安装go语言编译器, 参考Installing Go from source
- cgo支持还需要安装C语言编译器如gcc, 否则不需要cgo支持则设置环境变量:
CGO_ENABLED=0
# 安装go编译器
git clone https://github.com/golang/go.git
$ cd src
$ ./all.bash
配置
- fishshell中设置
set -gx GOPATH $HOME/go
-
source ~/.bash_profile
, 修改~/.bash_proile文件插入以下内容设置go相关环境变量
# ~/.bash_profile or ~/.zproile or ~/.zsh_rc
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
-
go env
查看确认下 -
GOROOT
应该默认有设置
工具安装
- VSCode安装go插件后会提示安装,或手动安装如下:
# 安装 delev 工具:
brew install go-delve/delve/delve
# or go get -u github.com/go-delve/delve/cmd/dlv
# 需要“钥匙串访问”创建证书, launchpad->其他->钥匙串访问,菜单->钥匙串访问->证书助理->创建证书'dlv'
# 最后一步钥匙串选'系统'后点创建
# 钥匙串访问->系统, 右键创建的证书'dlv',选择“显示简介->信任->代码签名”修改为:始终信任
# 进入dlv代码目录, GO15VENDOREXPERIMENT=1 CERT=dlv make install
# 其他工具
go get -u -v github.com/nsf/gocode
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
go get -u -v github.com/ramya-rao-a/go-outline
go get -u -v github.com/rogpeppe/godef
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v golang.org/x/tools/cmd/guru
# gometalinter在vscode go已集成
go get github.com/alecthomas/gometalinter
gometalinter --install --update
go get -u -v github.com/kardianos/govendor
编辑器安装
常用编辑器有vscode,sublime text,atom, vim-go等, IDE 有goland.
这里推荐使用vscode, 巨硬倾力打造开源, 启动快, 插件多, golang支持好, 你值得拥有, see[官网].
vscode go开发环境
- install vscode
# 安装vscode, 也可以官网下载点开拖放安装
brew cask install visual-studio-code
brew cask info visual-stutio-code
# 安装好vscode后最左边点插件图标, 搜索安装go插件
# 装好后重新加载
# 按提示安装其他工具
- code->首选项->用户设置
Go.Gopath 设置gopath
go.lintTool 选择gometalinter
vscode 插件推荐
- code runner
- Markdown Preview Enhanced
- Swagger Viewer
- vscode-proto3
- Codelf
- gitLens
- REST Client
一个示例
- 创建项目
mkdir -p $GOPATH/src/hello
cd $GOPATH/src/hello
- 添加源文件
//app.go
package main
func main() {
print("hello world!\n")
}
- 运行
go lint app.go
go run app.go
go build .
go install
有疑问加站长微信联系(非本文作者)