Fork me on GitHub
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。修改内容如下:
#nativecompilerwindows386

GOROOT=E:\go
GOBIN=E:\go\bin
GOARCH=386
GOOS=windows
CGO_ENABLED=1

PATH=%GOBIN%;%GOROOT%\bin;%PATH%

LITEIDE_GDB=gdb
LITEIDE_MAKE=mingw32-make
LITEIDE_TERM=%COMSPEC%
LITEIDE_TERMARGS=
LITEIDE_EXEC=%COMSPEC%
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的自动补齐功能截图:


欢迎各路Go大神赐教~
PS: 我存在过,我遇见过,我失败过。 有些路,明明有坑却从没人放警示牌。有些事,明明是错的却没人去管。有些话,明明应该告诉后来人却没人去说。 既然没人做,那就我来吧。希望我曾经历过的挫折不再重现于后来人。希望传承能够不是只挂在嘴边。希望人模人样的“人”能够真正做人。
 
标签: Go语言
posted on 2013-04-08 15:22  HackerVirus  阅读(170)  评论(0编辑  收藏  举报