golang开发环境配置
下载安装
从 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
)。项目目录中应包含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
我们可以直接在 https://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开发所需的包,在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开发环境配置的更多相关文章
- Mac下golang开发环境配置
go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...
- linux golang开发环境配置(离线方式)
<获取开发工具> 到https://www.golangtc.com/download 下载安装包, 根据自己的系统选择合适的开发包,这里选择go.1.9.2.linux-amd6 ...
- vim python和golang开发环境配置
首先在-下新建目录.vim和配置文件.vimrc,.vimrc内容如下: syntax on set nocompatible filetype off set rtp+=~/.vim/bundle/ ...
- windows及linux下 golang开发环境配置
windows环境: 1.系统以及软件包版本: OS: windows 8.1 64位 x64处理器 GO:安装包:go1.7.3.windows-amd64.mis IDE:压缩包:liteid ...
- golang 开发环境 配置 go语言 liteIDE
Mac: * 下载go安装包 go语言中文网 ** 通过源码编译安装需要先安装go1.4 wget https://studygolang.com/dl/golang/go1.10.3.src.tar ...
- golang开发环境配置及Beego框架安装
配置环境:Windows7推荐IDE:LiteIDEGO下载地址:http://www.golangtc.com/downloadBeego开发文档地址:http://beego.me/docs/in ...
- window / Linux 下 Golang 开发环境的配置
一直专注于使用python语言进行程序开发,但是却又一直被它的性能问题所困扰,直到遇到了天生支持高并发的Golang,这似乎也成了学习go语言最理所当然的理由.下面介绍下Go语言开发环境搭建的步骤: ...
- Visual Studio Code配置GoLang开发环境
Visual Studio Code配置GoLang开发环境 在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页: ...
- Golang入门及开发环境配置
Go语言诞生背景 计算机硬件更新频繁,主流编程语言无法发挥多核多CPU的性能 软件系统复杂度不断变高,缺乏简洁高效的编程语言 C/C++运行速度快,但编译速度慢 Go语言特点 静态类型开发语言 静态: ...
随机推荐
- Kafka常用操作备忘
启动nohup ./bin/zookeeper-server-start.sh config/zookeeper.properties &nohup ./bin/kafka-server-st ...
- Redis(九)哨兵:Redis Sentinel
Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工将从节点晋升为主节点,同时还要通知应用方更新主节点地址,对于很多应用场景这种故障处理的方式是无法接受的. Redis从2.8开始正式 ...
- Awake,start,update,OnEnable,OnDisable
如题,unity继承自MonoBehaviour的以上方法的先后顺序为Awake-OnEnable-start-update-OnDisable.不同游戏物体之间以及子游戏物体之间方法是怎么调用的呢. ...
- 使用 Nginx 搭建静态资源 web 服务器
在搭建网站的时候,往往会加载很多的图片,如果都从 Tomcat 服务器来获取静态资源,这样会增加服务器的负载,使得服务器运行 速度非常慢,这时可以使用 Nginx 服务器来加载这些静态资源,这样就可以 ...
- mysql免安装包配置
最近在通过zip包配置mysql,mysql版本:5.7.13.配置过程中,踩了一些坑,下面做了一些简单的记录,配置的具体过程如下: 1.将mysql zip包解压,放到指定目录中,在系统环境变量中配 ...
- FTP上传、下载文件Demo
前言:最近在做一个app,负责写后台接口,客户那边给了一个FTP的账号密码过来,服务器上面放了一堆的PDF文件,让我们这边自己从上面拿,项目是spriongboot的,做个记录供以后参考. 一.app ...
- 在线热备份数据库之innobackupex 完整备份InnoDB
在线热备份数据库innobackupex 完整备份InnoDB XtraBackup xtrabackup C程序,支持InnoDB/XtraDB innobackupex : 以Perl脚本封装xt ...
- 一文教您如何通过 Java 压缩文件,打包一个 tar.gz Filebeat 采集器包
欢迎关注笔者的公众号: 小哈学Java, 专注于推送 Java 领域优质干货文章!! 个人网站: https://www.exception.site/essay/create-tar-gz-by-j ...
- python经典面试算法题1.4:如何对链表进行重新排序
本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. 1.4 对链表按照如下要求重新排序 [微软笔试题] 难度系数: ...
- ctf misc 学习总结大合集
0x00 ext3 linux挂载光盘,可用7zip解压或者notepad搜flag,base64解码放到kali挂载到/mnt/目录 mount 630a886233764ec2a63f305f31 ...