golang开发环境配置

下载安装

https://golang.org/dl/ 下载最新的安装包。html

  • windows直接执行exe,按指示进行安装(默认安装目录是:C:\Go)
  • linxu解压后复制到你喜欢目录就行(通常放在:/usr/local/go)

配置环境变量

首先,应在全局环境变量里增长:GOROOT,指定golang的安装位置。并将安装目录下的bin添加到PATH中,其中将bin添加到PATH是为了可以在其余目录直接使用go命令:linux

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

应该在用户的配置中,添加GOPATH指定项目目录(假设项目在/home/goProject)。项目目录中应包含binsrcpkg三个目录。git

并同时设置GOBIN,以及将GOAPATH下的bin也加入PATH中。GOBIN将指定你经过go install安装的包的路径(其默认是第一个GOPATHbin目录),而将GOAPATH下的bin也加入PATH中,是为了可以方便地使用安装好的各类工具。github

export GOPATH=/home/goProject
export PATH=$PATH:$GOPATH/bin

但须要注意的是,GOROOTGOPATH不能是同一个目录。golang

安装第三方包

在线安装

使用go get命令指定第三方包的全路径便可安装。但此命令依赖git,须要你先安装git客户端才能使用。windows

go get -u github.com/jinzhu/gorm

更详细的操做能够经过 go help get 命令看到。网络

离线安装

golang的包都经过git直接发布源码,因此咱们能够直接下载源码经过go install安装。此举能解决大部分因网络缘由,没法使用go get安装的状况。ide

gorm,其安装命令为:工具

go get -u github.com/jinzhu/gorm

咱们能够直接在 https://github.com/jinzhu/gorm找到其项目。ui

而后下载它。固然能够经过各类手段下载。

咱们须要在咱们设置的第一个GOPATH目录中的src目录下创建github.com/jinzhu/gorm目录,目录结构与安装命令中的全路径相同。把下载好的源码,解压到这个目录里便可。

若是,安装的库还提供命令行命令操做,那么能够直接进源码目录执行:

go install

便可完成编译安装等操做。

交叉编译

编译操做须要执行:

go build xxx.go

环境变量设置

交叉编译则需先设置环境变量,主要设置下述三个

  1. CGO_ENABLED
  2. GOOS
  3. 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开发所需的包,在https://github.com/golang/tools。咱们使用git clone将此项目clone到$GOPATH/src/golang.org/x/tools/目录下,而后咱们缺什么包,就直接进入其目录执行go install,就能直接安装上。

示例

gocode包安装的时候,须要gcexportdata,咱们就能够tools/go/gcexportdata目录下直接执行go install安装它。


原文发布于:https://www.moonlightwatch.me/ -> golang开发环境配置备忘