go语言都需要学什么 go语言值得学吗( 三 )


学习基本上相当直接的 。我们之前在 C/C++/Java/Objective-C/PHP 的经验让我们学习 Go 相当快go语言都需要学什么,并且在几天内就开始开发go语言都需要学什么了 。当然会有一些新的和不常见的东西需要学习,包括 GOPATH 还有如何处理包,但这在我们的预期之内 。
几天之内,我们意识到即使是一个以简化为设计目的的语言,Go 也是非常强大的 。它能够做任何现代编程语言应该能做的事go语言都需要学什么:能够处理 JSON、服务器之间通讯甚至访问数据库也没问题(并且只需要几行代码) 。
在构建一个服务器时,你应该首先决定是否使用任何第三方库或者框架 。对于 Bugfender,我们决定使用:
Martini
Martini 是一个强大的 Go 的 web 框架 。我们开始这个实验时 , 它是一个很棒的解决方案,至今也是,我们还没遇到任何问题 。然而如果我们今天再次开始这个实验的话,我们会选择一个不同的框架 , 因为 Martini 不在维护了 。
Gorm
有些人喜欢 ORM , 而有些人则不喜欢 。我们决定使用 ORM , 更确切地说是 GORM 。我们的实现只针对 web 前端,对于日志提取 API 仍然继续使用手工优化的 SQL 。在一开始,我们确实很喜欢它,但是随着时间的推移,我们开始发现问题 , 并且我们很快将它从代码中完全移除,并且使用 sqlx 这个标准 SQL 库 。
GORM 的一个主要问题是 Go 的生态系统 。作为一个新语言 , 自我们开始开发产品以来 Go 已经有很多新版本 。在这些新版本中的一些改变并不向后兼容,因此要使用最新的库版本,我们要经常重写已有代码并检查我们为解决版本问题所做的 hack 。
GO语言有哪些优势?怎样入门?1、学习曲线
它包含了类C语法、GC内置和工程工具 。这一点非常重要 , 因为Go语言容易学习 , 所以一个普通的大学生花一个星期就能写出来可以上手的、高性能的应用 。在国内大家都追求快 , 这也是为什么国内Go流行的原因之一 。
2、效率
Go拥有接近C的运行效率和接近PHP的开发效率,这就很有利的支撑了上面大家追求快速的需求 。
3、出身名门、血统纯正
之所以说Go语言出身名门 , 是因为我们知道Go语言出自Google公司,这个公司在业界的知名度和实力自然不用多说 。Google公司聚集了一批牛人,在各种编程语言称雄争霸的局面下推出新的编程语言 , 自然有它的战略考虑 。而且从Go语言的发展态势来看,Google对它这个新的宠儿还是很看重的 , Go自然有一个良好的发展前途 。我们看看Go语言的主要创造者,血统纯正这点就可见端倪了 。
4、自由高效:组合的思想、无侵入式的接口
Go语言可以说是开发效率和运行效率二者的完美融合,天生的并发编程支持 。Go语言支持当前所有的编程范式,包括过程式编程、面向对象编程以及函数式编程 。程序员们可以各取所需、自由组合、想怎么玩就怎么玩 。
5、强大的标准库
这包括互联网应用、系统编程和网络编程 。Go里面的标准库基本上已经是非常稳定了,特别是我这里提到的三个,网络层、系统层的库非常实用 。
6、部署方便:二进制文件、Copy部署
我相信这一点是很多人选择Go的最大理由,因为部署太方便了,所以现在也有很多人用Go开发运维程序 。
7、简单的并发
它包含了降低心智的并发和简易的数据同步,我觉得这是Go最大的特色 。之所以写正确的并发、容错和可扩展的程序如此之难,是因为我们用了错误的工具和错误的抽象,Go可以说这一块做的相当简单 。

推荐阅读