Go语言实战-关于Go语言的介绍

前言

Go语言能更高效的利用服务器上的核心;更快的编译速度;摒弃了继承,更多的使用组合。

放弃继承,选择组合的原因

继承的缺点

  1. 只能有一个父类不利于扩展。
  2. 会继承到不想拥有的功能。
  3. 不支持动态继承,运行时无法选择不同的父类。

如何解决?

引用荀子《劝学》中的一段话:

假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。
君子生非异也,善假于物也。

所以说君子没有什么特殊的,就是善于使用工具罢了。这就是所谓的has-a。提倡用 has-a 去替代 is-a 。

Go解决了现在编程难题

为项目选择语言时,往往在 性能 和 快速开发 之间很难抉择。但GO语言不仅执行速度快,而且开发也快。

GO语言关键特性

  • 开发速度
    • 编译速度快。
    • 运行前编译器会检查类型错误。
  • 并发(更高效的利用多核,占用资源远少于线程。)
    • goroutine对并发的支持。
    • 通道,让 goroutine 之间数据通信。
  • Go 语言的类型系统(提供了灵活的、无继承的类型系统。)
    • 用组合设计模式。
    • 独特的接口实现机制,允许用户对行为进行建模。
  • 内存管理
    • Go 语言把内存管理交给编译器去做。

Go Playground

给他人演示某个想法时,Go Playground 是非常好的方式,因为它提供在线编译和分享功能。
地址:http://play.golang.org

小结

  • Go 语言是快速的,带有一个强大的标准库。
  • Go 语言内置对并发的支持。
  • Go 语言使用接口作为代码复用的基础模块。