下载安装

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

  • 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)。项目目录中应包含binsrcpkg三个目录。

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

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

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

安装第三方包

在线安装

使用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

我们可以直接在 https://github.com/jinzhu/gorm找到其项目。

然后下载它。当然可以通过各种手段下载。

我们需要在我们设置的第一个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开发环境配置备忘

golang开发环境配置的更多相关文章

  1. Mac下golang开发环境配置

    go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...

  2. linux golang开发环境配置(离线方式)

    <获取开发工具>     到https://www.golangtc.com/download 下载安装包, 根据自己的系统选择合适的开发包,这里选择go.1.9.2.linux-amd6 ...

  3. vim python和golang开发环境配置

    首先在-下新建目录.vim和配置文件.vimrc,.vimrc内容如下: syntax on set nocompatible filetype off set rtp+=~/.vim/bundle/ ...

  4. windows及linux下 golang开发环境配置

    windows环境: 1.系统以及软件包版本: OS: windows 8.1  64位  x64处理器 GO:安装包:go1.7.3.windows-amd64.mis IDE:压缩包:liteid ...

  5. golang 开发环境 配置 go语言 liteIDE

    Mac: * 下载go安装包 go语言中文网 ** 通过源码编译安装需要先安装go1.4 wget https://studygolang.com/dl/golang/go1.10.3.src.tar ...

  6. golang开发环境配置及Beego框架安装

    配置环境:Windows7推荐IDE:LiteIDEGO下载地址:http://www.golangtc.com/downloadBeego开发文档地址:http://beego.me/docs/in ...

  7. window / Linux 下 Golang 开发环境的配置

    一直专注于使用python语言进行程序开发,但是却又一直被它的性能问题所困扰,直到遇到了天生支持高并发的Golang,这似乎也成了学习go语言最理所当然的理由.下面介绍下Go语言开发环境搭建的步骤: ...

  8. Visual Studio Code配置GoLang开发环境

    Visual Studio Code配置GoLang开发环境 在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页: ...

  9. Golang入门及开发环境配置

    Go语言诞生背景 计算机硬件更新频繁,主流编程语言无法发挥多核多CPU的性能 软件系统复杂度不断变高,缺乏简洁高效的编程语言 C/C++运行速度快,但编译速度慢 Go语言特点 静态类型开发语言 静态: ...

随机推荐

  1. 关于到美国学习cs的亲身感受,希望对你们有所帮助

    1.能否向各位寄托天下的朋友们简单介绍一下你自己?比如你国内的学校(或者什么档次),哪年申请出国的,什么专业,硕士还是博士,在美国的学校(或者什么档次),以及留学经历(毕业时间),现在状态(学生?博后 ...

  2. Django中ORM的优化

    1. exists( ) 什么时候用 count( ) 和 len( )什么时候合适, 用values( )或values_list( )只取需要的列的数据 iterator()对数据对象生成迭代器, ...

  3. 如何在Idea中编译构建Spring Framework 5.x

    如何在Idea中编译构建Spring Framework 5.x 安装配置Gradle(略) 下载源码:git clone https://github.com/spring-projects/spr ...

  4. 条件渲染vue

    v-if:只渲染一次的情况下,性能更好v-show:频繁切换性能更好 vue虚拟DOM技术 浏览器:渲染引擎(慢)+JS引擎(快) 用1个JS对象来充当DOM对象,因为JS对象性能比较快,所以用虚拟D ...

  5. MongoDB分页查询优化方法

    在网上看到很多关于MongoDB分页查询优化的文章,如出一辙.笔者自己实际生产中也遇到此问题,所以看了很多篇文章,这里分享一篇简明扼要的文章分享给大家,希望对大家在使用MongoDB时有所帮助. 凡事 ...

  6. 【实用工具】这些你不得不知道的chrome插件,让你事半功倍

    平时chrome插件用多了,发现在工作中有很多插件特别好用,让你事半功倍.于是我抽时间整理了一些非常好用的chrome插件分享给大家,其中有些插件是我已经离不开,每天都在用的.希望这篇文章能帮助你找到 ...

  7. 深入理解C#第三版部分内容

     最近,粗略的读了<深入理解C#(第三版)>这本技术书,书中介绍了C#不同版本之间的不同以及新的功能. 现在将部分摘录的内容贴在下面,以备查阅. C#语言特性: 1.C#2.0 C#2的主 ...

  8. 大厂面试经:说一下你们线上JVM是如何优化的?

    JVM(Java虚拟机)简单来说就是运行Java代码的解释器,作为螺丝钉程序员JVM其实了解下就差不多啦,不懂JVM内部细节照样能写出优质的代码!但是一到造火箭.飞机的场景(面试)不懂JVM的你,会被 ...

  9. dianFanEditor Web在线编辑器

    个人很喜欢kodexplorer 的在线编辑器.苦于没有加载FTP目录的功能. 索性自己改造了一下,用.NET 做了几个WEB接口,用CEF3做浏览器内核,打包了在线地址做编辑器. 即可加载本地磁盘, ...

  10. 基于cookie的用户登录状态管理

    cookie是什么 先来花5分钟看完这篇文章:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies 看完上文,相信大家对cookie已经有 ...