GOROOT和GOPATH

GOROOT指向Go开发包的安装目录。从Go 1.0开始,不必显示地设置GOROOT环境变量。Windows安装包将会自动设置GOROOT,默认装在C:\Go

GOROOT=C:\Go\

而在*nix环境下,下载Go安装包并解压在/usr/local/目录下,然后把/usr/local/go/bin加入PATH环境变量即可:

export PATH=$PATH:/usr/local/go/bin  

如果Go安装包没有安装在默认的目录下(WindowsC:\Go*nix/usr/local/go),则需要手动设置GOROOT,举个例子(*nix):

export GOROOT=$HOME/go

GOPATH指定了Go工程目录,包含srcpkgbin三个子目录。这是开发Go程序时,唯一需要显示设置的环境变量。当使用go get目录下载Go第三方程序包时,也会安装在这个目录下。此外,为了方便,要记得把$GOPATH/bin也加到PATH环境变量:

export PATH=$PATH:$GOPATH/bin  

另外,根据这个帖子的推荐,设置一个GoPATH足够了。

参考资料:

1. Easy Go Programming Setup for Windows
2. You don’t need to set GOROOT, really
3. How to Write Go Code;
4. Go Getting Started

第一次北京Golang爱好者聚会小记

昨天参加了第一次北京Golang爱好者聚会(活动可以参考我之前的文章),总体来说办的很成功。讲师们分享的话题很不错,大家提问也很踊跃。最后大家也都拿到了纪念品,很happy!

第一个话题是GolangWeb开发方面的分享以及做的开源项目。我对Web编程不是很懂,但是开源项目演示效果很不错,值得以后关注一下。
第二个话题是使用Golang的经验分享,很详细。尤其是对于Golang新手,值得一听。
第三个话题是对Golang并发编程的经验分享,也不错,对Golang内部机制感兴趣的朋友,可以仔细研究一下。
第四个话题其实和Golang没什么关系,分享了容器技术的一些原理和实现。
第五个话题是介绍用Golang实现的开源项目codis,碰巧我对Redis有一些了解,所以对这一部分最感兴趣,也和讲师讨论了一下。对Redis感兴趣的朋友,可以关注一下这个项目。
最后一个话题是关于OpenAPM的,这个只是泛泛地提了一下,没什么实质性的内容。

我目前对Golang的感觉是:有一些公司开始在用,但短期内可能不会大规模增长。原因如下:
(1)现有的大量系统都是用老牌语言开发的,用Golang重新开发成本太大,风险太高。很多公司不愿冒险;
(2)目前市场上Golang人才毕竟相对较少。一旦有项目组人员流失,短期内有可能会招不到合适的人选;
(3)Golang语言自身的一些因素,比如gc机制,也许也是一个原因。

我不是语言专家,也没资格对任何语言评头论足。我只是建议大家如果感兴趣,可以去看看Golang。其实了解一门语言最大的收获应该是了解它的实现机理,了解它为什么要这样设计,也许这些内容会给我们日常的工作带来一些启迪。

北京Golang爱好者聚会活动

Go友团网站昨晚发布了北京Golang爱好者聚会活动:Go语言技术聚会——北京(2015年1月),感兴趣的朋友可以关注一下。

个人感觉Go语言写的code确实很清爽,是一门值得学习的语言。其实目前很多公司都已经开始使用Go语言了,不过似乎Gopher们交流真是不多,至少感觉在北京是这样的。我印象中只有前一段时间并发编程网举办的技术沙龙上七牛的工程师分享了一篇Go的讲座。

有兴趣的同学关注一下这个活动吧,也关注一下Go语言。毕竟老牌黑客Rob PikeC语言发明者Ken Thompson弄出来的东西应该是有它独到之处吧。

P.S,昨天是Go语言5周岁生日,大家可以阅读一下官网上的文章:Half a decade with Go,了解一下Go的过去,现在和将来。

liteIDE写Golang程序引用外面的package不能自动补全的问题

在使用liteIDE开发Golang程序时,会出现Golang自带的package可以自动补全,而引用外面的package则不能自动补全。今天终于在stackoverflow(http://stackoverflow.com/questions/19876902/liteide-no-autocomplete)找到了答案:在使用外面的package时,应该把package安装成功(使用go get, go install命令),才可以使用自动补全。