Mac OSX下Go语言开发环境的搭建与配置--使用InteliJ IDEA 13
折腾了一上午终于把go语言的ide配置好了.
其实GO语言的语法和特性早在去年的时候就学习了一遍.结果后来一直没机会进行开发,结果还是个GO小白.感叹一下,要学好一门编程语言唯一的途径就是多写代码...
最近由于学习需要要做一些GO语言开发的工作,所以又开始折腾环境了.
现在网上和书上提到的IDE有许多,比如vim,emacs,eclipse,liteide,intellij idea,goworks,sublime等等.
下面说说我自己在这些ide折腾的经历:
- vim:这种大神级别的开发环境我还是不太习惯,写一些示例代码还行,但感觉真要做点工程项目还是比较麻烦了.也许是个人的vim修为不够吧~~~
- emacs:另一个大神级的ide暂时没有尝试;
- eclipse+golang-plugin:配置很简单有选项,但居然没有语法提示,按住ctrl点函数名也不跳转....果断放弃了.
- liteide:官方出的ide,感觉还是比较简陋吧.
- goworks:这种ide好像是某个实验室开发的demo,首页上写着只花了11周,用了一下发现相当的不成熟,new project都不行,囧~~~
- sublime+gosublime:写代码比较简单,代码配色也是我的最爱.但问题是不太好调试,debug的话只能用fmt.Println进行了.另外默认也是不支持跳转函数的,可能加上ctags的插件是可以的,懒得继续了找了...
- intellij idea+golang-plugin:用来用去发现还是这个最成熟,支持的最好,也是我个人的选择.但也有一些路径和sdk上的坑,而且刚起来的时候会有build一些乱七八糟的东西导致cpu飙到100以上...但总的来说还是应该还是目前为止最适合普通大众的ide.
下面就详细介绍一下IntelliJ IDEA的配置过程.
0.安装java和go语言,各种平台下面都有对应的安装包,直接下一步就可以了.
1.下载IntelliJ IDEA 13
IDEA有community和professional两个版本,自己下的是community版.
下载地址是 http://www.jetbrains.com/idea/download/
2. 安装golang插件
找到插件安装界面并搜索golang,然后点击搜索结果进行安装.
Mac下是在Preferences下面的Plugins选项卡下面
这一步比较简单一般都比较顺利.
3.设置GOROOT和GOPATH
如果环境变量中没有设置这两个变量的话,一启动IntelliJ IDEA就会提示有两个错误引导进行设置.
常规的方法是在bashrc里面的跟go有关的变量
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export GOARCH=amd64
export GOOS=darwin export GOPATH=/usr/local/code/go/project1
但我个人的情况比较特殊,因为我的环境变量中已经有这两个变量了,但InteliJ IDEA还是死活不认,总是提示错误:
点击instructions链接就可以找到问题的解决办法:
If you are launching the IDE the normal application launcher and you get the error message about missing paths then you need to add
GOPATH
andGOROOT
in/etc/launchd.conf
to match the values from your.bashrc
or.zshrc
.Please note that
/etc/launchd.conf
does not exist by default, so you will need to create it with the following:setenv GOROOT /usr/local/go
setenv GOPATH /Users/yourname/goif setenv returns "Command not found" then the launchctrl command can be used:
launchctl setenv GOROOT /usr/local/go
launchctl setenv GOPATH /Users/yourname/go
简单的说就是要把GOPATH和GOROOT设置到mac osx的环境变量中.
4. 设置GO SDK
当配置好环境变量后需要在项目里面在配置一个Go SDK.
classpath里面有两条数据:
/usr/local/go/src/pkg
/usr/local/go-modules/src
点击+号还能添加更多的类库路径.在上面这图上还有一行红色的警告提示有个Go SDK无效了,这个可以通过修改Modules的Go SDK来解决.
最后正确配置的效果如下图
如果在项目里能看到这样的配置就算是OK了.
5. 使用更多第三方库
如果想要引用其他的第三方库可以直接进行界面上的操作
如果要使用任何第三方库可以直接运行命令,go get ${packagename}例如go get gopkg.in/mgo.v2
当然可以使用IntelliJ IDEA里面的自动运行命令功能
点击下载后就开始下载了
下载后的package包放在GOPATH的第一个目录中,即我例子中的/usr/local/go-modules/src下面
6.使用IDEA进行Go语言编程
语法提示,高亮以及实时编译都挺不错的,使用shift+F10可以运行程序.
另外可以配合使用vim的IDEA插件,可以让编辑的过程更加迅速.
Mac OSX下Go语言开发环境的搭建与配置--使用InteliJ IDEA 13的更多相关文章
- Windows10下配置Linux下C语言开发环境
今天为大家介绍如在Windows10下配置Linux下C语言开发环境,首先安装linux子系统:启用开发者模式 1.打开设置 2.点击更新和安全3.点击开发者选项 4.启用开发人员模式 5.更改系统功 ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- go 语言开发环境的安装与配置
go 语言开发环境的安装与配置 编辑器选择 一直以来都是用sublime,但是听说sublime对于golang的插件支持并不是特别完善,并且VS Code只要在自身所带的扩展商店里安装go插件就可以 ...
- arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc)
arm-linux-gnueabihf-gcc下载 qt下载 arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc) Ubuntu 16.04 安装QT arm嵌入式 ...
- win7下 go语言开发环境搭建(64bit)
Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进程 ...
- windows下python web开发环境的搭建
windows下python web开发环境: python2.7,django1.5.1,eclipse4.3.2,pydev3.4.1 一. python环境安装 https://www.pyth ...
- R语言开发环境的搭建
1.R语言的下载 https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 2.R语言的安装 安装完后,打开R Console 输入 pie(c(0.9, 0.2, 0.3 ...
- Go语言开发环境的搭建(Goland和VSCode)
教程首发于:微信公众号<Go编程时光>,欢迎你一起来学习 1. 下载安装 Go语言 下载地址:https://golang.google.cn/dl/ 下载完成后,直接双击 msi 文件进 ...
- Windows环境下ARM集成开发环境的搭建与使用
Windows环境下能够使用Eclipse IDE for C/C++ Developers来搭建ARM开发环境 本文地址:http://blog.csdn.net/u011833609/articl ...
随机推荐
- 使用eclipse远程调试weblogic
配置weblogic远程调试之前,需要做这几个工作: 1) 安装weblogic服务器,然后创建一个域: 2) 安装eclipse集成IDE: 3) eclipse中包含发布 ...
- 将WPF版的弹幕播放器给优化了一下
年前较闲的时候研究了一下WPF的性能优化,练手的时将之前写的弹幕播放器给重新写了一下.年前的时间不大够,没有写完,这两天接着弄了一下,基本上弄得差不多了. 主要重写了底层的渲染算法,优化后效果还是非常 ...
- [Bug]Object reference not set to an instance of an object.
引言 今天在客户这儿,由一个问题导致,需求的变化,不得不修改代码,在记录日志中出现该问题. 原因 通过id查找相关信息,没有判断是否为null,集合是否有数据. Object reference no ...
- SynDBOracle.pas
SynDBOracle.pas 通过OCI.DLL访问ORACLE数据库,是最快的访问方式,比任何其它数据库引擎访问ORACLE速度都要快. 程序发布的时候,只需要将OCI.DLL一同发布即可,而不需 ...
- 【spring cloud】spring cloud分布式服务eureka启动时报错:java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V
spring cloud分布式服务eureka启动时报错:java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApp ...
- iOS:UIResponser控件的介绍(响应者)
UIResponser响应者控件 知识: 在iOS中不是任何对象都能处理事件,只有继承了UIResponser的对象才能接收并处理事件.我们称之为“响应者对象” UIApplication,UIV ...
- iOS:延时执行的三种方式
延时执行的三种方式:performSelectorXXX方法.GCD中延时函数.创建定时器 第一种方式:NSObject分类当中的方法,延迟一段时间调用某一个方法 @interface NSObj ...
- MySql Replication基本原理
Replication的思想是将数据在集群的多个节点同步.备份,以提高集群数据的可用性(HA):Mysql使用Replication架构来实现上述目的,同时可以提升了集群整体的并发能力.5.6版本作为 ...
- GPU bubbles
https://software.intel.com/en-us/articles/performance-analysis-and-optimization-for-pc-based-vr-appl ...
- Struts2中的页面跳转
内容源自:Struts2中的页面跳转 一.全局页面的设置如果<package>包中的一些action都返回success,并且返回的页面都是同一个JSP页面,这样就可以配置全局的结果页面. ...