Go语言知识积累:windows开发环境搭建

Go语言知识积累:windows开发环境搭建
 
缘起看到一篇文章,讲述如何将服务器从30台降到2,性能甚至更加优秀。文章中介绍了完成这一出色任务的语言为Go,于是对Go语言产生了兴趣,逐步了解到这还是一门比较新的语言,且潜力很足。所以展开了研究之旅

 

特点简介:

1.引入轻量级线程——协程(coroutine),Go语言中叫goroutine。

2.采用Erlang风格的并发模型,即消息是进程间唯一的通信方式(而非共享内存)。两个goroutine之间通信通过channel(通道)进行。

3.对代码风格进行了强制统一,比如public变量必须以大写字母开头,private变量必须以小写字母开头,从而省略了这两个关键字。{}中{的书写不能另起一行等。

4.defer关键字,不管程序是否异常,均在退出时执行的代码。避免了大量try、catch语句。

5.函数允许返回多个值,且最后一个值问error类型,用于在错误的情况下返回详细信息。

6.反对(不提供)函数和操作符的重载,不提供继承、虚函数、虚函数重载。但是提供组合,也达到继承的目的。

7.没有构造函数和析构函数 ,提供接口,与其他语言最大的区别在于接口是非侵入性的。即实现类无需从接口派生

8.支持匿名函数与闭包。

...继续研究中

Windows下,开发环境的搭建:

IDE有两种选择,一个是国人开发的liteIDE,一个是给eclipse下载goclipse插件。但是由于未知原因,我没有调好eclipse中基于gocode的Go语言自动补齐功能。所以我选择了liteIDE,下面介绍如何搭建liteIDE环境,eclipse的方法大家自己探索吧。欢迎分享经验。

1.下载Go语言安装包,进入下面的链接,选择适合自己的安装包进行下载(我用的go1.0.3.windows-386.msi),然后安装即可,记录下安装后的根目录以备配置使用。

下载地址:https://code.google.com/p/go/downloads/list

2.下载liteIDE,进入下面的链接,选择适合自己的安装包(我用的liteidex17.windows-webkit.7z),下载完成后解压到任意目录,然后进入根目录下的bin文件夹,双击liteide.exe即可打开软件。

下载地址:https://code.google.com/p/golangide/downloads/list

软件界面如下:

3.配置liteIDE的信息,第一次打开此IDE时,需要配置相关信息,才能正确使用。点击【查看】→【选项】,打开了选项页面后在列表中选择LiteEnv,如图所示:

4.针对你的系统,修改对应的文件。我是32位系统,所以需要修改win32-user.env和win32.env。修改内容如下:

  1. #nativecompilerwindows386 
  2. GOROOT=E:\go 
  3. GOBIN=E:\go\bin 
  4. GOARCH=386 
  5. GOOS=windows 
  6. CGO_ENABLED=1 
  7. PATH=%GOBIN%;%GOROOT%\bin;%PATH% 
  8. LITEIDE_GDB=gdb 
  9. LITEIDE_MAKE=mingw32-make 
  10. LITEIDE_TERM=%COMSPEC% 
  11. LITEIDE_TERMARGS
  12. LITEIDE_EXEC=%COMSPEC% 
  13. LITEIDE_EXECOPT=/C 

其中GOROOT和GOBIN都是根据之前Go语言安装时选定的目录进行配置的。我安装Go语言时选择的路径是E:\Go

5.配置GOPATH,点击【查看】→【设置GOPATH】,在打开的窗口中的自定义GOPATH处点击浏览,选中你以后想存放Go工程的文件夹,添加后选择ok。如图所示:

6.关闭IDE,重新打开后,在点击【查看】→【工具窗口】→【Package浏览】,打开了Package浏览后,如果能看到Go的目录,则可以使用了。

怀着对先人的尊敬,我们来个HelloWorld之旅~

选择起始页的新建,在模板处选择Go1 Command Project,起个名字,点击ok。则自动生成了HelloWorld程序~

点击编辑窗口上部的BR按钮,即可运行程序,并在编译输出窗口得到输出。

恩,现在就探索到这个阶段。在Eclipse中装goclipse插件遇到种种问题,虽然最后成功安装,但是没有自动补齐功能。所以放弃了~

附一张liteIDE的自动补齐功能截图:

本文来自:CSDN博客

感谢作者:dongkaii

查看原文:Go语言知识积累:windows开发环境搭建

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。