Golang开发环境搭建


简介

这篇文章主要记录Golang在各个主流操作系统上的开发环境搭建。这里的IDE选择VSCode的原因是比较轻量,功能简单实用并与git结合比较紧密,比较适合新手入门。

环境

  • Windows

  • VSCode: 1.34.0

  • Golang: 1.12.5

  • Git: 2.21.0

  • Ubuntu

  • VSCode: 1.34.0

  • Golang: 1.12.5

  • Git: 2.21.0

  • MAC

  • VSCode: 1.34.0

  • Golang: 1.12.5

  • Git: 2.21.0

正文

Windows安装

在windows系统里安装golang+vscode方法和安装普通软件差不多,只不过需要注意配置环境变量,这里我们使用windows10来安装配置,我们先在各个官网下载相关软件包。然后开始安装操作。

1. 装Git

安装git的基本上只需要下一步下一步操作,如果对git比较熟悉可以自己选择自己合适的方案安装。

PS:

  • 如果大家需要有代理建议大家吧代理配置上,git配置代理的命令如下:
git config --global https.proxy http://10.226.144.58:8000
git config --global https.proxy https://10.226.144.58:8000
git config --global --unset http.proxy
git config --global --unset https.proxy

2. 安装Go

安装Go也是下一步下一步的操作,但是Go默认安装的位置为c:\Go,我个建议在不熟悉Go语言的情况下还是使用默认的。安装完软件后可以根据自己的情况对Go的环境进行个性化的操作。我们在windows的cmd输入go env看看自己的Go语言的环境。我的变量如下图:

image

每个具体环境变量的意思这里不作讲解,具体大家可以去看Go官网查看,这里我们只需要理解GOPATH和GOROOT.

  • GOPATH

GOPATH 是 Go 项目中最重要的一个目录,其决定了使用 Go 命令比如 go install 、go get 要把执行文件和源码放到哪个位置,决定开发 Go 项目依赖包是如何导入的,可以说如果要开发完整的 Go 项目首先要设置的就是 GOPATH.

  • GOROOT

简而言之 GOROOT 就是 Go 的安装目录,如果一台机器上有多个 Go 版本并存就需要注意 GOROOT 的设置,不同的 Go 版本使用不同的目录,对应的 Go 项目正确设置 Go 版本。

  • GOPROXY

Go软件包的代理服务器

PS:

GOPATH 可以设置多个值,也就是 GOPATH 允许设置多个目录,这种情况下使用 go get 安装的包默认放在第一个目录。

官方详解:https://golang.org/cmd/go/#hdr-Environment_variables

如果大家需要修改环境变量可以在资源管理器(或者我的电脑)里找到此电脑然后右键选择属性,会打开系统控制面板,然后在左侧找到高级系统设置点击打开,会在弹出的界面最下方看到环境变量按钮,点击它,就可以看到环境变量配置界面了。上半部分是用户变量配置,下半部分是系统变量配置。大家可以在用户变量配置找到GOPATH进行自定义的配置。

3. 安装vscode

安装vscode同样是傻瓜操作下一步就行,安装完后我们需要对vscode和Go进行整合。

a). 安装插件

  • 必装插件:
名称 id 说明
Go ms-vscode.go Go语言插件
  • 推荐插件:
名称 id 说明
“Chinese (Simplified) Language Pack for Visual Studio Code ms-ceintl.vscode-language-pack-zh-hans vscode中文插件

b). 配置vscode

打开vscode的文件->首选项->设置打开设置页面,并找到扩展里的Go configuration并打开settings.json.配置如下内容:

{
        "files.autoSave": "onFocusChange",
        "go.buildOnSave": true,
        "go.lintOnSave": true,
        "go.vetOnSave": true,
        "go.buildFlags": [],
        "go.lintFlags": [],
        "go.vetFlags": [],
        "go.useCodeSnippetsOnFunctionSuggest": false,   
        "go.formatOnSave": false,
        "go.formatTool": "goreturns", 
        //GOROOT路径,注意路径单\换成\\
        "go.goroot": "C:\\Go",
        //GOPATH路径,注意路径单\换成\\
        "go.gopath": "C:\\Users\\Temp\\go",
        //代理配置
        "http.proxy": "http://10.226.144.58:8000",
}

保存,并在GOPATH目录下创建 **{bin,pkg,src}**三个目录,这三个目录分别用于编译后生成目录,包目录,代码目录。

c). 安装golang工具

推荐使用vscode自动安装配置工具,直接在src目录下新建一个.go文件就会提示,点击安装全部即可,注意配置vscode代理。如若没有代理可以使用go get的方式下载,如若发现不能下载的可以去github找类似的包。

go get github.com/mdempsky/gocode
go get github.com/uudashr/gopkgs/cmd/gopkgs
go get github.com/ramya-rao-a/go-outline
go get github.com/acroca/go-symbols
go get golang.org/x/tools/cmd/guru
go get golang.org/x/tools/cmd/gorename
go get github.com/go-delve/delve/cmd/dlv
go get github.com/stamblerre/gocode
go get github.com/rogpeppe/godef
go get github.com/sqs/goreturns
go get golang.org/x/lint/golint

安装完成后我们就可以在windows上使用vscode进行Go语言的开发了。

Ubuntu安装

Ubuntu安装的方法很多,我这里用的只是自己的安装方法,大家也可以使用其它的方法配置。同样Ubuntu配置Go环境要安装git、golang与vscode.

1. 安装Git

Ubuntu安装git很简单,只需要执行一条命令就行.命令如下:

sudo apt-get install git

git就安装完成了。

2. 安装Go

Ubuntu安装GO有两种方式,一种是使用编译好的二进制包安装,一种是直接使用Ubuntu的软件包安装,这里推荐使用二进制方式安装,原因是二进制可以下载最新版本安装。

  • 二进制安装方法。
wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz
sudo tar xf go1.12.5.linux-amd64.tar.gz -C /usr/local/
sudo cat <<EOF >> ~/.bashrc
#GOROOT目录
export GOROOT=/usr/local/go
#GOPATH目录
export GOPATH=$HOME/development/golang
#开启GO MOD管理工具
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
export PATH=$GOPATH:$GOBIN:$GOROOT/bin:$PATH
EOF
sudo source ~/.bashrc
sudo mkdir -p ${GOPATH}/{src,pkg,bin}

GO语言包就安装完成了。可以使用go env命令看看:

image

  • apt安装
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go -y

3. 安装VSCode

Ubuntu安装VSCode也很简单,在Ubuntu的软件商店里就有,当然也可以去官网下载最新的deb包安装。两种方式都可以,这里我就不过多说明安装了。

a). 安装插件

  • 必装插件:
名称 id 说明
Go ms-vscode.go Go语言插件
  • 推荐插件:
名称 id 说明
Chinese (Simplified) Language Pack for Visual Studio Code ms-ceintl.vscode-language-pack-zh-hans vscode中文插件

b). 配置vscode

打开vscode的文件->首选项->设置打开设置页面,并找到扩展里的Go configuration并打开settings.json.配置如下内容:

{
    "files.autoSave": "onFocusChange",  
    "go.buildOnSave": "package",  
    "go.lintOnSave": "package",  
    "go.vetOnSave": "package",  
    "go.buildFlags": [],  
    "go.lintFlags": [],  
    "go.vetFlags": [],  
    "go.formatTool": "goreturns",  
    "go.goroot": "/usr/local/go",  
    "go.gopath": "/home/temp/development/golang",  
    "workbench.colorTheme": "Monokai",
    "go.useLanguageServer": true,
    "go.languageServerExperimentalFeatures": {
        "diagnostics": true
        },
    "http.proxy": "http://10.226.144.58:8000",
    "explorer.confirmDelete": false
}

配置内容我就不过多说明,和windows基本上一样。

c). 安装golang工具

安装golang工具最好在命令行下配置代理,当然也可以在VSCode里配置代理然后让VSCode下载。

go get github.com/mdempsky/gocode
go get github.com/uudashr/gopkgs/cmd/gopkgs
go get github.com/ramya-rao-a/go-outline
go get github.com/acroca/go-symbols
go get golang.org/x/tools/cmd/guru
go get golang.org/x/tools/cmd/gorename
go get github.com/go-delve/delve/cmd/dlv
go get github.com/stamblerre/gocode
go get github.com/rogpeppe/godef
go get github.com/sqs/goreturns
go get golang.org/x/lint/golint

OK,Ubuntu的安装完成。

Mac安装

Mac安装就比较繁琐,而且安装方式比较多,我这边推荐brew+软件包的形式安装。当让这个形式必须先安装brew,具体安装方式请访问官网,链接为:https://brew.sh/

1. 安装Git

MAC下使用brew安装git也很简单,也是一条命令:

brew install git

2. 安装Go

安装Go也可以使用brew,也是一条命令:

brew install go

当然也可以去官网下载最新新的版本安装。然后使用go env 查看。

image

如果要修改GOPATH可以在~/.bash_profile里新增:

export GOPATH=$HOME/codes
#go mod开启
export GO111MODULE=on
export GOPROXY=https://goproxy.cn

3. 安装VSCode

先去官网下载mac版本的软件包,正常安装就行。然后找到设置配置的地方。

a). 安装插件

  • 必装插件:
名称 id 说明
Go ms-vscode.go Go语言插件
  • 推荐插件:
名称 id 说明
Chinese (Simplified) Language Pack for Visual Studio Code ms-ceintl.vscode-language-pack-zh-hans vscode中文插件

b). 配置vscode

打开vscode的Code->首选项->设置打开设置页面,并找到扩展里的Go configuration并打开settings.json.配置如下内容:

{
    "explorer.confirmDragAndDrop": false,
    "workbench.startupEditor": "newUntitledFile",
    "explorer.confirmDelete": false,
    "workbench.colorTheme": "Monokai",
    "go.goroot": "/usr/local/Cellar/go/1.12.4/libexec",
    "go.gopath": "/Users/temp/Documents/Development/Golang/Projects",
    "files.exclude": {
        "**/.classpath": true,
        "**/.project": true,
        "**/.settings": true,
        "**/.factorypath": true
    },
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "java.errors.incompleteClasspath.severity": "ignore",
    "git.enableSmartCommit": true,
    "git.autofetch": true,
    "git.confirmSync": false,
}

配置内容我就不过多说明,和windows基本上一样,修改go.gopath和go.goroot修改成go env命令显示一样就行

c). 安装golang工具

安装golang工具最好在命令行下配置代理,当然也可以在VSCode里配置代理然后让VSCode下载。

go get github.com/mdempsky/gocode
go get github.com/uudashr/gopkgs/cmd/gopkgs
go get github.com/ramya-rao-a/go-outline
go get github.com/acroca/go-symbols
go get golang.org/x/tools/cmd/guru
go get golang.org/x/tools/cmd/gorename
go get github.com/go-delve/delve/cmd/dlv
go get github.com/stamblerre/gocode
go get github.com/rogpeppe/godef
go get github.com/sqs/goreturns
go get golang.org/x/lint/golint

总结

三个操作系统其实安装都差不多,但是如果你是Linux开发相关的人员最好还是在Ubuntu环境下开发。虽然GO支持交叉编译,但是在调试方面在原生系统上进行相关开发最好。

结束