1 概述
什么是 Go 语言?首先献上 Go 官网(https://golang.org/)上的一句话:
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
翻译过来就是,Go 是一种可轻松构建简单、可靠和高效软件的开源编程语言。展开来说,它是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,被誉为是未来的服务器端编程语言
Go 又称 Golang,其雏形诞生于2007年,由 Google 的三位神人(如下图)领头开发,于2009年有了第一个版本,并在 Linux 及 MacOSX 平台上进行了实现,后追加了 Windows 系统下的实现
目前,用 Go 语言开发的应用越来越多,常见的有 docker, kubernetes, ethereum (以太坊)
2 Go 语言特点
正如 Go 官网上所说,其有三大特性:简单、可靠、高效
简单:从关键字上就能可见一斑,相较于 C 的37个和 C++ 的84个关键字,Go 只有25个关键字,而且创始人坚持 Go 将只有这些关键字
可靠:相比于其它的编程语言,Go 更加可靠。比如:虽然提供了指针直接访问内存的机制,但是不像 C/C++ 可以那么灵活地操作指针,同时提供了垃圾回收机制;相较于 Java 那么多常见的异常,Go 可能产生异常的情况比较少
高效:快速的编译速度,开发效率和运行效率高。开发过程中相较于 Java 和 C++ 呆滞的编译速度,Go 的快速编译时间是一个主要的效率优势。Go 拥有接近 C 的运行效率和接近 PHP 的开发效率
具体来说,Go 具体以下的特点:
1)没有继承多态的面向对象
2)interface 不需要显式声明 (Duck Typing)
3)强一致类型
4)没有异常处理 (Error is value)
5)基于首字母大小写的可访问特性
6)不用的 import 或者变量引起编译错误
7)完整而卓越的标准库包,内置 runtime(作用是性能监控、垃圾回收等)