Go总体介绍

栏目: Go · 发布时间: 5年前

内容简介:Go语言,即Golang,是Google公司于2009年11月正式对外公开的一门编程语言,有以下特性:静态强类型语言、编译型语言、并发型语言。Go语言的语法比较接近C语言,变量声明不太一样,有垃圾回收的机制。Go语言并不包括类似C++的枚举、异常处理、继承、泛型、断言、虚函数等功能。但是可以用一种方式去实现类似继承(接口编程),面向对象编程模式。Go语言有一些核心的特性:channel(管道),切片(slice),并发等。

1 Go 语言项目

1.1 来源和特点

Go语言,即Golang,是Google公司于2009年11月正式对外公开的一门编程语言,有以下特性:

静态强类型语言、编译型语言、并发型语言。Go语言的语法比较接近C语言,变量声明不太一样,有垃圾回收的机制。

Go语言并不包括类似C++的枚举、异常处理、继承、泛型、断言、虚函数等功能。但是可以用一种方式去实现类似继承(接口编程),面向对象编程模式。Go语言有一些核心的特性:channel(管道),切片(slice),并发等。

1.2 项目背景

Go语言于2007年由3个人发起设计,分别是罗伯特格瑞史莫,罗勃派克(Unix小组的成员),以及肯汤普逊(设计和实现了Unix系统,是 C语言 的前身-B语言的创造者)。

Go语言是基于Inferno(创造并支持分布式服务的系统)开发的。

Go于2009年11月对外推出、并成为开放源码项目,并在 linux 和Mac OS X平台进行了实现,后来才追加了Windows系统的实现和支持。

2016年,Go被评选为“TIOBE 2016年最佳语言”。

每半年发布一个二级版本(即a.x,到a.y)。

2 Go语言发展—— 版本&特性

2009年11月7日 weekly.2009-11-06 —— 早期的版本

2012年3月28日 go1 —— 稳定版版的发布

2013年5月14日 go1.1 —— 语言本身的变化、库的变化等。

2013年12月01日 go1.2 —— 提供更好的调度和一个新的语言特性。

2014年6月18日 go1.3 —— 主要是在实现的工作上的变化,以及精准的垃圾回收。

2014年12月10日 go1.4 —— 包含了2个很小的语言变更。

2015年8月19日 go1.5 —— 实现的架构变化,同时保留了和旧版本的兼容性。

2016年2月7日 go1.6 —— 语言本身、运行时、和库的实现的变化。

2016年8月15日 go1.7 ——  标准库有显着的性能改进和变化。

2017年2月26日 go1.8 —— 标准库有显着的性能改进和变化。

2017年8月24日 go1.9 —— 是包含语言,标准库,以及运行时的诸多变化。这个版本中的大部分工作都是对运行时和 工具 的改进。

2018年2月16日 go1.10 —— 大部分更改都在工具链,运行时和库的实现中。

2018年8月24日 go1.11 —— modules和WebAssembly支持。

3 Go语言应用

3.1 谁在用

Java 技术栈的阿里巴巴,还有如滴滴打车,uber,今日头条,小米,奇虎360,京东等公司。一些公司的老项目可能早起是java,c++之流,但是因为早起就是分布式多进程架构设计,对于新功能,新项目都是可以多语言混合的,那么也少不了对服务开发语言Golang的青睐。

3.2 应用领域

服务开发、并发、分布式、微服务等方向。

4 Go语言架构

GOPATH的工作区包含bin,src,和pkg这三个:

src——源码(包含第三方的和自己项目的)、bin——编译生成的可执行程序, pkg——编译时生成的对象文件。如下:

Go总体介绍

本文章对Go语言进行了一个总体的背景情况介绍,如果对于如何快速的学习一门语言感兴趣的小伙伴可以,看下另一篇文章, Go语言入门指导 指导,这个不仅仅是教你怎么学习Go语言,同事也是分享了一个快速学习一门语言的方法论。有非常多的实践经验验证起来的方法,希望对你有所指导。


以上所述就是小编给大家介绍的《Go总体介绍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高性能JavaScript

高性能JavaScript

Nicholas C.Zakas / 丁琛、赵泽欣 / 电子工业出版社 / 2010-11 / 49.00元

如果你使用JavaScript构建交互丰富的Web应用,那么JavaScript代码可能是造成你的Web应用速度变慢的主要原因。《高性能JavaScript》揭示的技术和策略能帮助你在开发过程中消除性能瓶颈。你将会了解如何提升各方面的性能,包括代码的加载、运行、DOM交互、页面生存周期等。雅虎的前端工程师Nicholas C. Zakas和其他五位JavaScript专家介绍了页面代码加载的最佳方......一起来看看 《高性能JavaScript》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具