开始
大概是去年年初我试图去学习Go语言,本着一个程序员一年学习一本编程语言的想法去的,可以最后看到Go的for
后面不用写()
,导入包用双引号引,就格外不舒服(强迫症的感觉,如下代码示例),感觉设计不太严谨,于是就草率的Pass掉了,转向JVM上的Groovy
。不过好在,有了这次与Go的接触,才为现在重新提起创造了可能。
import "strings"
for _, v := range Aligorthms {
if strings.ToLower(name) == v {
return true
}
}
for i:=0; i<10; i++ {
}
重新提起Go的主要原因是:我需要一个能够快速实现想法的编程语言。在简单学习Groovy, Scala, Python, Lua, Go
之后,决定仔细瞧瞧Go,于是Go还是Go,我已经欣然接受它。
学习
学习Go的过程,基本从《Go语言编程》这本书开始的,不过之后就开始在国内社区学习(具体在下文资料一节)。Go的国内社区挺活跃,介绍Go的书籍比较少,一边通过Go的开发文档学习,一边读一些Go的开源项目。总体上Go的学习曲线还算比较低,对于我而言,接受Go的编程风格,语言设计是最为关键的。因为时不时用Java
的编程的思维方式来看待Go
,会觉得缺胳膊少腿。事实上,Go确实很年轻,但是在使用Go的方式去解决实际问题,却丝毫不逊色,甚至更高效,便捷,友好。
-
熟悉Go丰富的库
-
阅读Go开发文档
-
通过编程实践,解决实际问题,理解和使用Go
实践过会,会更加能深刻的认识到问题的本质和解决问题的最佳方式方法
-
辩证的看待这门
互联网时代的C语言
我正是从错过到现在接收Go,改变自己的编程观念,拓展解决问题的渠道和思路。
实践
-
使用Go开发命令行工具
Go现在成为我手上一个友好的工具,可以很快更加需要开发出一些小的工具,来帮助我完成一些繁琐的事情。Go在标准库中为命令行程序开发提供了支持,比如
flag包
。 -
Restful接口服务
HTTP协议的新用法或者是新思路,Go标准库对HTTP Web Server提供了实现,在开发Web方面可以大展身手,并且这一开发领域成功案例举不胜数。
-
服务器端监控应用
-
数据库编程
资料
国内目前相关资料还不算丰富,不过Github使用Go
开发的项目挺多,加之Go
现在发布到Go 1.5
(去除了C部分东西),正一步步完善,成熟,亲近开发者。