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 ...
随机推荐
- Linux 内核中的 GCC 特性
https://www.ibm.com/developerworks/cn/linux/l-gcc-hacks/ GCC 和 Linux 是出色的组合.尽管它们是独立的软件,但是 Linux 完全依靠 ...
- synchronized和lock区别
synchronized 快速回顾: 1.当代码块 加上 synchrozized之后,代码会发生什么改变? 答案:有两条改变.一个是原子性(atomicity),一个是可见性(visibility) ...
- easyui combobox可编辑的情况下,只能首字母开始过滤的问题选项
esayui中的combobox下拉列表在可编辑的情况下可以输入内容来过滤下拉框的选项,而1.4.2版本只能在从首字母开始过滤例如其中一个选项是"test", 只能输入" ...
- jquery load 方法回显数据
使用jQuery对象.load()方法 load() 方法的作用是可以通过 AJAX 请求从服务器加载数据,并把返回的数据直接放置到指定的元素中. 该方法使用起来非常简单,大大简化了ajax开发 语法 ...
- ArcGIS Server10.1之服务新特性(WMTS1.0.0) 【转】
http://blog.csdn.net/esrichinacd/article/details/7825587 ArcGIS Server10.1正式支持OGC的WMTS1.0.0版本标准,那么如何 ...
- urllib库在python2和python3环境下的使用区别
好东西啊!!! Python 2 name Python 3 name urllib.urlretrieve() urllib.request.urlretrieve() urllib.urlclea ...
- Python Pygal绘制世界人口地图
数据集可在 https://datahub.io/JohnSnowLabs/population-figures-by-country 下载 #coding=utf-8 import json fro ...
- 【转】-ECshop数据库表结构
-- 表的结构 `ecs_account_log`CREATE TABLE IF NOT EXISTS `ecs_account_log` (`log_id` mediumint(8) unsigne ...
- java中的super限定
super的用法: (1)如果需要在子类中调用父类中被覆盖的实例方法,可以用super限定来调用父类中被覆盖的方法.当然,也可以调用从父类继承的实例变量. public void callOverri ...
- 【VBA编程】08.数组
[数组简介]数组其实就是一组相同类型的数据的有序集合,其形象表示就像线性表.在存储数据的时候,首先在内存中分配一个连续的存储空间,将各个元素按顺序存放在连续的存储单元格中.[定义静态数组]Dim 数据 ...