1

一.Go发展史

想要了解一门语言,少不了他的发展史。

这里简单的介绍一下其历史年度关键节点。

1.里程碑

Go 也叫 Golang

  • 起源于2007年
  • 2009年首次公开发布
  • 2010年谷歌投入使用
  • 2011年被Google AppEngine支持
  • 2012年正式版Go1
  • 2015年发布Go1.5,移除了“最后残余的C代码”
  • 目前最新版本为Go1.10

不得不说Go是一门很年轻的语言,是一个零零后。

二.Go特点

我们学习一门语言总归是出于各种各样的原因的,他会是各式各样的原因。

那既然现在我有了一个想要了解 Go 的一个意愿,肯定要先知道该语言有那些特色,或者说有那些吸引人的地方的说。

1.效率高

这里写图片描述

— 图片来自百度

Go 被誉为“21世纪的 C 语言”。

正如 Go 语言的 Logo 这只萌萌哒短腿儿囊地鼠的寓意一样,Go 语言是很快速的,他的快速体现在两个方面:

  1. 开发效率高
  2. 运行速度快

关于究竟是选择开发速度还是执行速度这个问题,Go 选择了折中,他即要开发速度,又要执行速度。

举个青涩的栗子:码的比 C / C++ 快 ,跑得比 Python 快,大致意思是对的,关于更详细的差异需要深入去了解。

2.部署简单

Go 不允许额外的引用,在其编译后生成会生成可执行文件,几乎不需要任何外部依赖

3.并发支持

Go 原生支持并发。

假如我们用 C# (seaconch .net 出身)编写一个多线程的项目,那么我们需要考虑东西会很多,编码起来也会很繁琐。

然而这些对于 Go 来说会是容易很多。

4.编码体验

Go 属于静态语言,是编译型语言,但其构建速度很快,并且有大量的包可以使用。

Go 语言的目标即:将静态语言的安全性和高效性与动态语言的易开发性进行结合

5.代码格式化

通过 Go 的格式化命令(gofmt),可以使代码风格保持统一化,便于阅读。

6.UTF-8编码

Go 完全支持 UTF-8 ,Go 的源码格式即 UTF-8。

7.GC

Go 已经拥有了垃圾回收机制

三.Go缺失

seaconch 已知列举如下:

  • 不支持函数(方法)重载
  • 不支持隐式转换
  • 不支持泛型
  • 不支持静态变量

四.适用场景

根据 seaconch 查阅得出相对较多的场景为:

  • 网络编程
  • 分布式编程
  • 服务器编程

youbei
318 声望70 粉丝