经过一段时间的沉淀,我们团队已经从Ruby转到Golang上了,并没有严格算过这为我们节省了多少成本(业务增长还是太快了,服务器资源看不太出来),但是我们的开发效率,以及开发的效果是显而易见的,这一定要好好感谢dworld。
虽然在Golang开发上,我们得到了很多好处与便利,但是他还是有很多问题的。
详细见这里
我简单提一下以下几个方面:
1. 项目依赖问题。
2. json 解析struct问题。
代码依赖
很多人会推荐godep,gom等等。
他们的功能基本类似,支持Github,googlecode,golang等线上代码服务的搜索。搜索之后能够显示该项目的完整doc以及他的依赖情况(导入哪些包,被哪些包导入,以及依赖图)。
除此之外,我们应该还想在本地查看golang文档吧?
安装godoc
go get code.google.com/p/go.tools/cmd/godoc
godoc -http=:6060
浏览器输入
http://localhost:6060
godoc fmt Println (查看fmt的Println方法)
...
知识补充:go doc与godoc
json 解析成struct
这一块还没有深入了解,大家可以参考json_encoding。
我这里只简单说说我的理解,当我们的json数据存储到memcache或者redis之后,读取到之后,我们通过json.Unmarshal来解析成struct。struct定义了基本数据类型,但是json中没有,则会被解析初始化成基本数据类型的零值。这里struct如果有定义指针类型,则要特别小心,避免出现nil pointer问题。
顺便提一下:
Golang开发工具
sublime text2 ,golang插件
vim,golang插件 vim-go
intellij idea,golang插件
webstorm,golang插件
atom
以上开发工具,我都使用过,目前一直在用的vim和WebStorm。
golint 代码规范
安装golint
go get -u github.com/golang/lint/golint
(嗨,大家好!欢迎关注我的公众号“茶歇驿站”,微信号“tech_tea”,请大家多多支持,欢迎大家分享,如若转载请注明出处~~~)