Golang环境搭建

一、Go安装

Go的安装方式比较简单,没有什么依赖,直接通过官网下载即可。

说明:这里直接选择编译好的包,自己再去配置相关环境变量,正常情况下go环境就可以运行了,执行go命令后可以下图效果。

# /usr/local/server/go1.8/bin/go

1.1 添加环境变量

GO的开发过程中还需要配置一些环境变量,GO程序依赖这些配置,所以必须得配。

mac/linux

# vi ~/.bash_profile
# export GOROOT=/usr/local/server/go1.8
# export GOPATH=/usr/local/server/gopath:/Users/peng/workspace/golang
# export PATH=$PATH:$GOROOT/bin
# source ~/.bash_profile

win

win下类似,新建GOROOT和GOPATH两个环境变量,将GOROOT/bin目录添加到PATH。

执行go env即可看到配置的信息。到这里Golang的安装就配置完了。这里还有个约定,我们把工作目录设置在了/Users/peng/workspace/golang,但并不是直接把代码放在这里目录下,这里还约定由三个目录:

接下来试试Hello World.

1.2 Go Hello World

/Users/peng/workspace/golang/src下创建hello.go,内容如下:

package main

import "fmt"

func main() {
    fmt.Println("Hello, 世界")
}

相关说明:

执行,正常将可看到Hello, 世界的输出。

go run hello.go

1.3 常用命令

前面执行go命令的过程就可以看到go的一些常用命令。介绍几个常用的命令:

到这里已经对go有个基本的认识,接下来说下一下IDE的配置,接触过的IDE有LiteIDE和VScode,两个都跨平台,开发go程序也非常方便,还有一些其他的IDE,比如:sublime、GoEclipse等等。这里着重介绍下vscode。

二、VsCode IDE介绍

安装vscode的Go扩展,首选项里配置GO路径(win下为分号):

"go.gopath":"/usr/local/server/gopath:/Users/peng/workspace/golang",
"go.goroot": "/usr/local/server/go1.8",

同时还需要安装一些相应的包,来提升我们的开发效率,比如可以自动提示、代码自动格式化等等,下面为go扩展需要安装的包。

go get -v github.com/nsf/gocode
go get -v github.com/rogpeppe/godef
go get -v github.com/zmb3/gogetdoc
go get -v github.com/golang/lint/golint
go get -v github.com/lukehoban/go-outline
go get -v sourcegraph.com/sqs/goreturns
go get -v golang.org/x/tools/cmd/gorename
go get -v github.com/tpng/gopkgs
go get -v github.com/newhook/go-symbols
go get -v golang.org/x/tools/cmd/guru
go get -v github.com/cweill/gotests/...

有一点需要注意的是,有些包因为防火墙等原因无法下载,比如golang.org/x/crypto直接go get可能无法安装,则我们可以在gopath创建对应的目录,然后下载github上的包放到同样的目录即可,比如:git clone git@github.com:golang/crypto.git。上面有一些依赖包不翻墙可能无法下载, 则可以通过这种方式来下载。

有代理的可以手动指定代理

$ export http_proxy=127.0.0.1:9090 https_proxy=127.0.0.1:9090

go的包管理非集中式的,当一个地方不通的时候,可以考虑换个仓库去试。

2.1 VsCode常用操作


到这里golang的基本环境就搭建好了。

三、Go编译

GOOS=linux GOARCH=amd64 go build -x -o bin/main main.go
GOOS=windows GOARCH=amd64 go build -x -o bin/main main.go
-- EOF --
最后更新于: 2024-08-17 14:44
发表于: 2016-11-10 19:00
标签: Golang