Go语言实战-关于Go语言的介绍
前言
Go语言能更高效的利用服务器上的核心;更快的编译速度;摒弃了继承,更多的使用组合。
放弃继承,选择组合的原因
继承的缺点
- 只能有一个父类不利于扩展。
- 会继承到不想拥有的功能。
- 不支持动态继承,运行时无法选择不同的父类。
如何解决?
引用荀子《劝学》中的一段话:
假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。
君子生非异也,善假于物也。所以说君子没有什么特殊的,就是善于使用工具罢了。这就是所谓的has-a。提倡用 has-a 去替代 is-a 。
Go解决了现在编程难题
为项目选择语言时,往往在 性能 和 快速开发 之间很难抉择。但GO语言不仅执行速度快,而且开发也快。
GO语言关键特性
- 开发速度
- 编译速度快。
- 运行前编译器会检查类型错误。
- 并发(更高效的利用多核,占用资源远少于线程。)
- goroutine对并发的支持。
- 通道,让 goroutine 之间数据通信。
- Go 语言的类型系统(提供了灵活的、无继承的类型系统。)
- 用组合设计模式。
- 独特的接口实现机制,允许用户对行为进行建模。
- 内存管理
- Go 语言把内存管理交给编译器去做。
Go Playground
给他人演示某个想法时,Go Playground 是非常好的方式,因为它提供在线编译和分享功能。
地址:http://play.golang.org
小结
- Go 语言是快速的,带有一个强大的标准库。
- Go 语言内置对并发的支持。
- Go 语言使用接口作为代码复用的基础模块。