重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
IntelliJ idea一个月,甚得我心,终弃Sublime、liteIDE。
我们提供的服务有:网站设计、成都网站制作、微信公众号开发、网站优化、网站认证、上蔡ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的上蔡网站制作公司
IntelliJ idea是非常强大的一款IDE,支持丰富的插件。安装配置都是非常简单的,这里不多赘述,主要需要安装两个插件Go和File Watcher,可以安装Markdown的插件,便于读写Markdown文件。
插件安装成功之后,重启IDEA。
- 设置go sdk
go get golang.org/x/tools/cmd/goimports
go get -u github.com/golang/lint/golint
-w $FilePath$
-set_exit_status $FilePath$
以后新建工程,直接导入该配置,避免重复配置;
从 File - Settings... 打开设置窗口
0)快捷键(使用eclipse快捷键)
1.下载go的windows下的安装包:
也可以下载源代码,用MinGW编译。先配置好MinGW的环境,再运行all.bat即可。
MingW:
2.下载gocode,用于go的补全提示:
gocode 的github地址:
要安装git,在windows下,通常用msysgit。
再在cmd下安装:
go get -u github.com/nsf/gocode
也可以下载代码,直接用go build来编译,会生成gocode.exe。
3.在eclipse中安装插件:
4.配置插件:
(1).配置go的编译器
(2).配置gocode(可选),这里我用的是eclipse插件自带的gocode。
(3).配置gdb,做调试用(可选)
如果安装了MingW,可以在安装目录下找到gdb。
5.测试是否成功
新建一个go工程,再建立一个hello.go。如下图:
gdb调试如下(要在console中用输入命令来调试):
6.其它
2012年3月31日:
目前这个eclipse插件,只能把代码放在cmd包中才能运行。
貌似现在流行的是Sublime Text2 + gocode。Sublime Text也的确比较好用。
======================
Eclipse平台下配置Go语言开发环境(Win7)
《Go语言编程》中写到:“从功能和易用性等方面考虑, Eclipse+GoEclipse、LiteIDE这两个环境在所有IDE里面是表现最好的”,所以笔者打算采用Eclipse+GoEclipse开发环境。
Eclipse平台下配置Go语言开发环境步骤:
1、安装JDK和Eclipse
建议JDK1.6及以上版本。Eclipse3.6及以上版本。
2、安装GoEclipse插件
在Eclipse中点击菜单“Help”-》“Install New Software”打开如下对话框,添加go插件的安装地址:,
按提示一步一步操作即可,下载时可能会遇到网络问题,可使用goagent或其他代理。
3、安装并配置Go的编译器
下载地址:
下载时请注意版本,应选择windows-386的版本。
安装完后重启Eclipse,并通过菜单项“Window”-》“Preferences”-》“Go”打开Go语言的配置选项框。如下图:
选择Go的安装路径即可,如笔者的安装路径是F:\Work\Go
4、配置调试器(可选)
需要先安装MinGW,下载地址:
安装完之后,通过菜单项“Window”-》“Preferences”-》“Go”-》“Debugger”打开调试器的配置选项框。
将GDB路径配置为:MinGW安装目录下的gdb.exe文件即可。
5、配置代码自动补全(可选)
需要配置gocode,可使用goEclipse插件自带的版本,也可以自己下载:
笔者使用的是goEclipse插件自带的版本,配置方式如下:
通过菜单项“Window”-》“Preferences”-》“Go”-》“Gocode”打开配置选项框。
将Gocode的路径配置为:goEclipse的安装路径下的gocode.exe文件,如
F:\Work\eclipse\plugins\com.googlecode.goclipse.gocode_0.7.6.v450\tools\windows_386\gocode.exe
6、配置支持Import远程包(可选)
为了支持Import远程包,最好装个gowin-env。下载地址:。 如果下的是压缩包,请把它解压到C盘。例如,C:\gowin-env。里面有个Console.bat是以后使用go get的环境。举例:有个文件a.go,里面import (
"fmt"
"github.com/astaxie/beedb"
_ "github.com/ziutek/mymysql/godrv"
为了编译该a.go文件,需要启动Console.bat,然后在该命令行窗口,进入c:\go\src目录下,执行go getgithub.com/astaxie/beedb
Go get github.com/ziutek/mymysql/godrv .
Go 会自动下载该远程包并编译和安装这些包。
7、go install: no install location for directory *** outside GOPATH错误的处理
由于每一个Go程序都必须包含一个main包以及一个main()函数,因此如果没有main包就会导致上述错误。
What Doesn't Kill Me Makes Me Stronger
我喜欢jetbrains系列的IDE+go插件。不过我要说的是这个问题主要看你的观点如何。
说eclipse:
构建方式是使用go install 命令,每一次编译运行都是go install。这样的好处就是如果你有很多的包,下载下来并没有编译,这样每次编译速度是很快的。而且(!)go install 符合go官方的项目结构,官方说过了,一个go的项目应该是以个gopath,包含src,pkg,bin三个主要目录。所以说go install个人认为才是主要的go编译方式。
说eclipse的缺点:
其实eclipse插件的go编译方式,还有目录结构,项目结构,都是非常完美的!!!!真的很完美!可是,他的代码提示,太差件!大括号都不能自动补全,gdb 32bit 64bit兼容问题,eclipseC++ 没有html js插件,需要手动安装,几乎不能开箱即用。不过如果你是开发算法,数据处理,还是推荐eclipse的,毕竟其他都无关紧要。
说jetbrains:
说先说clione肯定不适合,新建项目没有向导,导致改成go项目各种不开心,比如图标对于我来说就无法接受go lib 不是小耗子~这是次要的,重要的是各个文件都是灰色的(没有在cmake中包含的结果),然后说剩下的,phpstorm这个不说了,估计很少有人插件按在这里,webstorm,体验也不是很好,idea?体验很好,可是毕竟比较重,尤其是现在加入了自家的K啥玩意(无意冒犯,没记住单词)~可是话说回来,go跟C系列IDE配合才是最佳,跟java系列一点不搭关系,用idea似乎有点格格不入,但是!idea支持新建项目向导,lib的图标也很清晰,最后还是选择idea吧,期待clion的强大起来!
再说jetbrains系列缺点:
插件的构建方式是go buiild 这个让人很不爽,我们几乎不确定会构建到什么地方去,还要每次设置一下run配置。这个可能无关紧要,毕竟不是什么大的毛病,可是go build不能缓存.a文件,直接构建的结果就是很多第三方包的情况下很慢!所以建议安装包的时候手动install 一下解决这个问题。自带代码格式化,这个格式化跟go 格格不入,总的来说就是蛋疼,心碎,菊花痒。
最后说liteIDE:
轻量级IDE,我可以说是国人GO伟大作品典范,然而默认构建也是go build,项目管理方式不符合go官方标准。代码提示不能自动导入(eclipse也不能),不过如果你的项目是以包为单位的,那么另当别论。一定很不错,毕竟是轻量级专门针对GO的IDE!
说这些,其实还有很大一部分取决于你的项目是用vendor机制管理,还是godeps机制管理依赖关系。go不像java拥有强大的几乎天下一统的maven(无意冒犯,暂不评价其他构建套件)。
go没有官方包仓库。
go没有官方包管理工具。
go没有官方自动化构建套件。
上面三个没有是致命要害。导致民间各种百花齐放。
说说我的项目怎么管理
gpm 一个shell工具(windows下你可以用git的bash,或者cygwin~)
我是严格艳照官方推荐方式管理go项目,一个go项目一个gopath。系统的gopath只是为了安装go命令,我没有配置gobin,意义不大。
项目的依赖跟我的代码包都在src下(非vendor)
vendor用来存放包的特殊依赖,发布项目直接把依赖包发布上去(公网管理则只上传依赖关系文件 godeps文件)
资源文件等都放在src目录同级,编译文件放在bin,引用直接../引用。
首先需要下载下载go平台安装包
安装程序 下载地址址h如果是您的系统是windows32 位系统请选择go1.3.3.windows-386.msi即可,其他的,请按照自己所需版本来进行下载,如下图所示:
安装以及配置环境变量
由于Windows下的的安装包有两种:msi和zip的;zip的是免安装的,解压在配置一些环境变量之后就可以使用,msi的则是安装包版本的,安装的时候会设置好对应的环境变量。我的电脑是Win7 64位,因为方便,就下载了下面的版本。下好安装包后,安装过程就很简单了,一路“Next”就好了。 虽然msi会自动配置一些环境变量,但是本人在安装完之后还是自己配置了环境变量,所以在安装完Go之后,我们最好还是检查一些所有的环境变量是否正常。主要的环境变量有以下几个:
GOROOT:Go的安装目录
GOPATH:用于存放Go语言Package的目录,这个目录不能在Go的安装目录中
GOBIN:Go二进制文件存放目录,写成%GOROOT%\bin就好
GOOS:操作系统
GOARCH:指定系统环境,i386表示x86,amd64表示x64
PATH:需要将%GOBIN%加在PATH变量的最后,方便在命令行下运行Go
如下图所示:
像我自己安装的,下载完成之后解压到任意目录(所有目录均不能使用中文):D:\Go;
然后是go环境变量的配置:
GOARCH:386(go安装版本)
GOBIN:D:\Go\bin(exe执行文件路径)
GOOS:windows(go运行的系统)
GOROOT:D:\Go(go的解压路径)
GOPATH:E:\go\data(go的工具包路径,随意指定,后面会用到)
然后在path环境变量中追加:;%GOBIN%
完成之后在cmd窗口输入:go version,如下图所示:
1.1 Go 安装
Go的三种安装方式
Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:
Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。
Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。**推荐这种方式**
第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。
最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具GVM,这是目前在这方面做得最好的工具,除非你知道怎么处理。
Go源码安装
在Go的源代码中,有些部分是用Plan 9 C和ATT汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具。
在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具。
在类Unix系统中,需要安装gcc等工具。例如Ubuntu系统可通过在终端中执行sudo apt-get install gcc
libc6-dev来安装编译工具。
在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。
你可以直接去官网下载源码,找相应的goVERSION.src.tar.gz的文件下载,下载之后解压缩到$HOME目录,执行如下代码:
cd go/src
./all.bash
运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功。
上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc。
如果是Mac或者Unix用户需要设置几个环境变量,如果想重启之后也能生效的话把下面的命令写到.bashrc或者.zshrc里面,
export GOPATH=$HOME/gopath
export PATH=$PATH:$HOME/go/bin:$GOPATH/bin
如果你是写入文件的,记得执行bash .bashrc或者bash
.zshrc使得设置立马生效。
如果是window系统,就需要设置环境变量,在path里面增加相应的go所在的目录,设置gopath变量。
当你设置完毕之后在命令行里面输入go,看到如下图片即说明你已经安装成功
图1.1 源码安装之后执行Go命令的图
如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。
关于上面的GOPATH将在下面小节详细讲解
Go标准包安装
Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go
(Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息:
export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
上面这些命令对于Mac和Unix用户来说最好是写入.bashrc或者.zshrc文件,对于windows用户来说当然是写入环境变量。
如何判断自己的操作系统是32位还是64位?
我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定自己的系统类型。
Windows系统用户请按Win+R运行cmd,输入systeminfo后回车,稍等片刻,会出现一些系统信息。在“系统类型”一行中,若显示“x64-based
PC”,即为64位系统;若显示“X86-based PC”,则为32位系统。
Mac系统用户建议直接使用64位的,因为Go所支持的Mac OS X版本已经不支持纯32位处理器了。
Linux系统用户可通过在Terminal中执行命令arch(即uname
-m)来查看系统信息:
64位系统显示
x86_64
32位系统显示
i386
Mac 安装
访问下载地址,32位系统下载go1.4.2.darwin-386-osx10.8.pkg,64位系统下载go1.4.2.darwin-amd64-osx10.8.pkg,双击下载文件,一路默认安装点击下一步,这个时候go已经安装到你的系统中,默认已经在PATH中增加了相应的~/go/bin,这个时候打开终端,输入go
看到类似上面源码安装成功的图片说明已经安装成功
如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。
Linux 安装
访问下载地址,32位系统下载go1.4.2.linux-386.tar.gz,64位系统下载go1.4.2.linux-amd64.tar.gz,
假定你想要安装Go的目录为 $GO_INSTALL_DIR,后面替换为相应的目录路径。
解压缩tar.gz包到安装目录下:tar zxvf go1.4.2.linux-amd64.tar.gz -C
$GO_INSTALL_DIR。
设置PATH,export PATH=$PATH:$GO_INSTALL_DIR/go/bin
然后执行go
图1.2 Linux系统下安装成功之后执行go显示的信息
如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。
Windows 安装
访问Google Code 下载页,32
位请选择名称中包含 windows-386 的 msi 安装包,64 位请选择名称中包含 windows-amd64 的。下载好后运行,不要修改默认安装目录
C:\Go\,若安装到其他位置会导致不能执行自己所编写的 Go 代码。安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录
C:\Go\bin\,并添加环境变量 GOROOT,值为 Go 安装根目录 C:\Go\ 。
验证是否安装成功
在运行中输入 cmd 打开命令行工具,在提示符下输入 go,检查是否能看到 Usage 信息。输入
cd %GOROOT%,看是否能进入 Go 安装目录。若都成功,说明安装成功。
不能的话请检查上述环境变量 Path 和 GOROOT 的值。若不存在请卸载后重新安装,存在请重启计算机后重试以上步骤。
第三方工具安装
GVM
gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具。使用起来相当的方便,安装gvm使用如下命令:
bash (curl -s -S -L )
安装完成后我们就可以安装go了:
gvm install go1.4.2
gvm use go1.4.2
也可以使用下面的命令,省去每次调用gvm use的麻烦: gvm use go1.4.2 --default
执行完上面的命令之后GOPATH、GOROOT等环境变量会自动设置好,这样就可以直接使用了。
apt-get
Ubuntu是目前使用最多的Linux桌面系统,使用apt-get命令来管理软件包,我们可以通过下面的命令来安装Go,为了以后方便,应该把
git mercurial 也安装上:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang-stable git-core mercurial
homebrew
homebrew是Mac系统下面目前使用最多的管理软件的工具,目前已支持Go,可以通过命令直接安装Go,为了以后方便,应该把
git mercurial 也安装上:
brew update brew upgrade
brew install go
brew install git
brew install mercurial
golang 有编辑器可以用 如国人开发的liteide,或者sublimetext、vim、emacs,为什么一定要用phpstorm?如果你只是做php开发,phpstorm很不错,如果用golang来开发,phpstorm 并不合适