golang开发环境配置
下载安装
从 下载最新的安装包。
- windows直接执行exe,按指示进行安装(默认安装目录是:c:\go)
- linxu解压后复制到你喜欢目录就行(一般放在:/usr/local/go)
配置环境变量
首先,应在全局环境变量里增加:goroot
,指定golang
的安装位置。并将安装目录下的bin
添加到path
中,其中将bin
添加到path
是为了能够在其他目录直接使用go
命令:
export goroot=/usr/local/go export path=$path:$goroot/bin
应该在用户的配置中,添加gopath
指定项目目录(假设项目在/home/goproject
)。项目目录中应包含bin
、src
、pkg
三个目录。
并同时设置gobin
,以及将goapath
下的bin
也加入path
中。gobin
将指定你通过go install
安装的包的路径(其默认是第一个gopath
的bin
目录),而将goapath
下的bin
也加入path
中,是为了能够方便地使用安装好的各种工具。
export gopath=/home/goproject export path=$path:$gopath/bin
但需要注意的是,goroot
和gopath
不能是同一个目录。
安装第三方包
在线安装
使用go get
命令指定第三方包的全路径即可安装。但此命令依赖git
,需要你先安装git
客户端才能使用。
go get -u github.com/jinzhu/gorm
更详细的操作可以通过 go help get
命令看到。
离线安装
golang
的包都通过git
直接发布源码,所以我们可以直接下载源码通过go install
安装。此举能解决大部分因网络原因,无法使用go get
安装的情况。
如gorm
,其安装命令为:
go get -u github.com/jinzhu/gorm
我们可以直接在 找到其项目。
然后下载它。当然可以通过各种手段下载。
我们需要在我们设置的第一个gopath
目录中的src
目录下建立github.com/jinzhu/gorm
目录,目录结构与安装命令中的全路径相同。把下载好的源码,解压到这个目录里即可。
如果,安装的库还提供命令行命令操作,那么可以直接进源码目录执行:
go install
即可完成编译安装等操作。
交叉编译
编译操作需要执行:
go build xxx.go
环境变量设置
交叉编译则需先设置环境变量,主要设置下述三个
- cgo_enabled
- goos
- goarch
其中cgo_enabled
表示启用cgo
,我尝试的过程中,交叉编译不支持cgo
,所以要将cgo_enabled
设置为0
。
goos
表示目标操作系统,可取下述值:
- windows
- darwin
- linux
- freebsd
goarch
表示目标平台,可取下述值:
- amd64
- 386
- arm
示例
在windows平台进行编译,目标系统为linux,目标平台是x64:
set cgo_enabled=0 set goos=linux set goarch=amd64 go build main.go
在linxu平台进行编译,目标系统为windows,目标平台是x86:
export cgo_enabled=0 export goos=windows export goarch=386 go build main.go
其他平台、系统,自行替换其中环境变量的值即可。
ide配置
我使用的编辑工具是vscode,安装go语言插件后,可以实现自动代码格式化,自动进行静态代码检查。
在安装go插件的过程中,会有几个包因为各种原因安装不上。此时我们实用go get
命令是无论如何也搞不定的。我么可以选择直接通过源码安装。
实际上,golang的github库中,已经放好了golang开发所需的包,在。我们使用git clone
将此项目clone到$gopath/src/golang.org/x/tools/
目录下,然后我们缺什么包,就直接进入其目录执行go install
,就能直接安装上。
示例
在gocode
包安装的时候,需要gcexportdata
,我们就可以tools/go/gcexportdata
目录下直接执行go install
安装它。
推荐阅读