3

时刻在线www;abg88288;com13036075017

 1 month ago
source link: https://studygolang.com/articles/36558
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

时刻在线www;abg88288;com13036075017

rvxefxsd · 8天之前 · 84 次点击 · · 大约8小时之前 开始浏览    

目前go语言在window或者linux操作系统上,最好的go语言开发调试环境都是由eclipse+goclipse插件+gdb搭建的。如果你还没有搭建好go语言的开发环境,请参考这篇博文《windows下Go语言的安装和开发环境搭建》。

一般大家用eclipse都是开发java,如果要开发go,那就得安装goclipse插件了,这样才能有代码高亮、自动编译、联想提示、跳转到函数定义等丰富功能;如果还想要调试的功能,就还得有gdb;如果你还想引入github上的开源库,那还需要git客户端。下面一一介绍如果安装和使用:

安装goclipse goclipse下载地址:http://goclipse.googlecode.com/svn/trunk/goclipse-update-site/ ,搞java的安装eclipse插件应该比较熟悉,安装过程也比较简单,直接点下一步,接受,yes,重启eclipse就可以了。如果安装成功,可以在Window–>Preferences里面左边的树形菜单里看到Go,点Go,然后在右边设置GOROOT的路径为go的安装目录即可,下面的几个Go tool的路径会被自动识别到。此时应该看到如下的效果:

下面创建一个go项目来检验一下,在菜单栏如下操作File–>New–>Other–>选择Go–>选择Go Project–>Next–>给项目取个名字(比如gotest)–>Finish,创建成功,然后在项目的src目录下创建一个带main入口函数的源文件test。

配置gbd

创建带main函数的源文件

然后编辑代码看看高亮和代码提示的效果

编辑go代码

上面的效果不错吧,goclipse现在已经在方法提示、autocomplete和查看方法变量声明等功能方面支持得很好了,而且这些功能不用额外配置,因为goclipse中包含了一个gocode(用于Go语言的自动补全工具),在安装goclipse的时候会自动安装上gocode(比如:我的gocode在D:\software\green_software\eclipse-j2ee\eclipse\plugins\com.googlecode.goclipse.gocode_0.7.6.v439\tools\windows_amd64),所以gocode一般不用额外的安装和配置,只需要勾选让其在eclipse启动时自动启动即可,配置路径为:Window->Perferences->Go->Gocode,这样eclipse在启动后,你可以在Window资源管理器的进程列表中看到有gocode这个进程。如下图:

goclipse的gocode配置

如果你没有gocode,或者gocode没有启动,或者你想用最新的gocode,那么你可以在启动eclipse之前使用如下的命令手动启动gocode:

gocode.exe -s -sock=tcp

这样你就可以在eclipse中使用点号来联想方法和字段,以及用alt+/来自动补全方法和字段。

运行这个程序有两个办法,一个是cd到这个工程的bin目录下,执行下面自动编链接好的exe文件,另一个是在eclipse上右键main函数所在的源文件–>Run As–>Run Go Application,即可。

我平时在使用过程中,发现一个奇怪的问题,就是自己的代码不能自动编译也不能运行了,研究一番才发现是工程的src目录配置不对,理论上这个配置不需要自己手动配的,但是如果你也碰到这种情况,你可以看看这个src目录是否配置正确了,见图你就知道了:

新引入的go项目后检查项目配置

安装GDB 想一想,如果写代码不能调试,那就只能通过fmt.Println(“xxx”)这种方式,那是多么痛苦啊,让自己的开发环境可以动态的调试是很有必要的。下面介绍下,如何安装和配置GDB,让eclipse支持go语言代码的挑食的。

由于go编译器编译出来的可执行程序是按照gdb的标准的,所以目前调试go语言代码必须要有gdb,需要在windows上装一个,linux上装gdb很容易,但是windows上比较麻烦一下,比较常用的做法是装MinGW,然后用里面的gdb。但是我推荐另一个做法:

下载另一个自带了gdb的go语言集成开发软件liteide(绿色软件,解压即可),里面的bin目录下有gdb.exe和gdb64.exe,这两文件前者用于32位操作系统,后者用于64位操作系统。

然后把你操作系统对应的那个gdb配置到goclipse插件里面,操作如下:Window–>Preferences–>打开Go节点–>选择Debug,然后设置GDB,我的操作是64位的,所以选择了gdb64.exe。如图:

配置gdb

这样就ok了,现在可以去试试,在代码里设断点看效果了。(当然现在这个debug功能还没有那么完善,但是大部分的情况都是可以动态查看变量的值的,某未及之处只能通过输出的方式来做了。)

配置GOPATH变量关联go的SDK源码 如果不使用eclipse+goclipse,而使用记事本写代码的话,就必须要配置gopath,尽管使用goclipse后可以不设置GOPATH环境变量,但是那样就不能在eclipse里面直接关联查看go的源码了。如果想让自己的代码中选择一个函数,然后按F3(或者按住ctrl点某个函数)就能看到源码的话(eclipse常用的关联代码的功能),就需要给goclipse配置GOPATH,配置好了以后你可以按住ctrl点某个函数,就可以跳到go的源码中直接查看源码的实现,这个对学习go很有帮助,强烈推荐大家使用。配置效果如图:

在eclipse中设置gopath

配置完了以后,就可以看到Project Explorer里面多出了一个GOROOT节点,这个节点下的都是go的源码,没事多看看很有好处!

用git来下载第三方库 由于现在github非常火,很多开源爱好者都把自己的代码托管到了github、bitbucket、google code上,go语言本身也是开源。想学go语言的同学难免会去这些地方看其他人写的好的代码,不过最好是把这些代码下载自己把玩一番。要下载这些代码就需要使用git客户端,它可以让你用简单的命令就可以把代码下载下来,并打包好。这样你就可以方便的使用了。下面介绍下git客户端的下载和安装:

git的windows客户端下载地址为:http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git

安装过程中有一个步骤需要注意的,这一步可以让你在dos命令行中使用git命令,这样比较方便一点,如图:

git安装,让你的git命令可以在windows控制台里使用

这时候你就可以在windows命令行中使用git命令了,现在试试看看好用不,我在bitbucket上有个开源的工具包,以这个作为例子试试看~~

先cd到你的工程的src目录下,然后键入这个命令:go get -u bitbucket.org/weager/utils

这个命令中的-u可以在你曾经下载过这个包时,自动更新这个包。此时,应该能在src目录下看到bitbucket.org目录,这目录里面有一个weager目录,这个目录下就是utils包的代码了。

然后运行打包命令:go install bitbucket.org/weager/utils

此时会在pkg目录下产生于src相同的目录,在utils目录下会有一个utils.a文件,这就是打包后生成的文件。见图:

go项目目录结构以及下载的包

下载了包以后,就可以在你的工程中使用这个包了,比如:

go语言代码中引入第三方库代码演示

到此为止,go语言的开发环境完成了,可以开始开发了,good luck

Reference eclipse及其他IDE的go语言开发环境搭建

http://rongmayisheng.com/post/windows%E4%B8%8B%E7%94%A8eclipsegoclipse%E6%8F%92%E4%BB%B6gdb%E6%90%AD%E5%BB%BAgo%E8%AF%AD%E8%A8%80%E5%BC%80%E5%8F%91%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83


有疑问加站长微信联系(非本文作者))

280

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK