特点简介:
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: 我存在过,我遇见过,我失败过。 有些路,明明有坑却从没人放警示牌。有些事,明明是错的却没人去管。有些话,明明应该告诉后来人却没人去说。 既然没人做,那就我来吧。希望我曾经历过的挫折不再重现于后来人。希望传承能够不是只挂在嘴边。希望人模人样的“人”能够真正做人。
原文链接:http://www.cnblogs.com/FlameRen/archive/2013/04/08/3007155.html