Go语言发展历史、核心、特性及学习路线

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

内容简介:Go语言发展历史、核心、特性及学习路线3、C++之父:Bjarne Stroustrup(本贾尼。斯特劳斯特卢普)。1982年Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的编程语言,它被命名为C++。4、Python之父:Guido von Rossum(吉多.范.罗苏姆)1994年发布 1.0版本,1995年9月发布了Python3.5版。

Go语言发展历史、核心、特性及学习路线
目录

  1. 知名编程语言发展简史
  2. Go语言主要发展过程
  3. Go语言设计初衷
  4. Go语言的优势
  5. Go语言的核心特性
  6. Go语言能开发什么?
  7. 采用 Go 语言的国内外企业
  8. Go语言学生路线
    一、 Go语言的发展历史
    (一)、知名编程语言或系统的发展简史
    1、B语言之父:Ken Thompson(肯.汤普)。
    2、 C语言 之父:美国著名计算机专家,Dennis Ritchie(丹尼斯.里奇)1969-1973年发明了C语言和Unix操作系统。

3、C++之父:Bjarne Stroustrup(本贾尼。斯特劳斯特卢普)。1982年Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的编程语言,它被命名为C++。

4、 Python 之父:Guido von Rossum(吉多.范.罗苏姆)1994年发布 1.0版本,1995年9月发布了Python3.5版。

5、Java:JamesGosling(詹姆斯.高斯林)。1991年开发Oak,1994年改名为Java,1995年5月正式发布。

6、Javascript:Brendan Eich(布兰登.艾奇)。1995年5月只用了10天时间把Javascript设计出来了。

7、Go语言:Go的三个作者分别是:Robert Griesemer(罗伯特.格利茨默),Rob Pike(罗伯.派克)和 ken Thompson(肯.汤普森)。

.Robert在开发Go之前是Goole V8 、Chubby和HotSpot JVM的主要奉献者;

.Rob主要是Unix 、UTF-8、 plan9的作者;

.ken主要是B语言、C语言的作者、Unix之父。

(二)、Go语言的发展过程

1、2007年9月,Rob Pike(罗伯.派克)正式命名为Go;

2、2008年5月,Google全力支持该项目;

3、2009年11月,Go将代码全部开源;

4、2012年3月28日,Go发布第一个正式的稳定版本。

二、Go语言的特点及优势

(一)、Go语言设计初衷(为什么设计Go语言)

1、设计Go语言是为了解决当时Google开发遇到的问题:

.大量的C++代码,同时又引入了 Java 和Python

.数以万行的代码

.分布式的编译系统

.数百万的服务器

2、Google开发中的痛点 :

.编译慢

.失控 的依赖

.每个店工程师只是用了一个语言里面的一部分

.程序难以维护

.更新的花费越来越长

.交叉编译困难

3、如何解决当前的问题和痛点?

.Go希望成为互联网时代的C语言。多数系统级语言(包括Java和C#)的根本编程哲学来源于C++,将C++的面向对象进一步发扬光大。但是Go语言的设计者却有不同的看法,他们认为值得学习的是C语言。C语言经久不衰的根源是它足够简单。因此,Go语言也是足够简单。

.所以,他们当时设计Go语言的目标是为了消除各种缓慢和笨重、改进各种低效和扩展性。Go是有那些开发大型系统的人设计的,同时也是为了这些人服务的,它是为了解决工程上的问题,不是为了研究语言设计;它还是为了让我们的编程变得更舒适和方便。

4、Go语言的特色:

 没有继承多肽的

 强一致类型

 Interface不需要显示声明(DuckTyping)

 没有异常处理

 基于首字母的可访问特性

 不用的import或者变量引起编译错误

 完整而卓越的标准库包

(二)、Go语言的优势

1、学习曲线容易

Go语言语法简单,包含了类C语法。

2、效率:快速的编译时间,开发效率和运行效率高

3、出身名门、血统纯正

4、自由高效:组合的思想、无侵入式的接口

5、强大的标准库

6、部署方便:二进制文件,Copy部署

7、简单的并发

8、稳定性强

(三)、Go语言的核心特性和优势

.Go主要有静态语言、天生并发、内置GC、安全性高、语法简单、编译快速这几个方面的特性。这些特性决定了Go的三个高富帅特性:运行快、开发快和部署快。

(四)、Go语言能开发什么?(做什么?)

1、服务器编程,以前你如果用C或者C++做的那些事情,用Go来做很合适,例如:处理日志,数据打包、虚拟机处理、文件系统等。

2、分布式系统

3、网络编程

4、数据库操作

5、开发云平台

(五)、采用GO语言的国内外知名企业

三、Go语言学习路线

一、第一章 初识Go语言

1 Go语言特性及发展过程、学习路线

2 安装Golang及设置环境变量、安装Goland开发环境

3 helloworld程序及go的程序结构

二、 第二章 Go基本语法

1 变量、变量类型及注意事项

2 打印格式化介绍

3 常量与枚举

4 Iota与常量注意事项

5 数据类型转换

6 表达式及运算符

7 键盘输入

三、 第3章 流程控制

1 if条件语句

2 if嵌套

3 switch选择语句

4 跳转语句及fallthrough、break、continue的用法

5 for循环

6 for双层循环

7 随机数及随机数种子

四、第四章 Go内容容器 数组及切片

1 数组元素访问

2 二维数组及多维数组

3 冒泡排序

4 切片slice的概念

5 slice的操作

五、第五章 Go内置容器 map字典

1 map声明、创建和遍历

2 map元素删除、查找

3 map案例

六、第六章 函数和指针

1 函数定义

2 函数调用

3 不定参数

4 函数多返回值

5 匿名函数和闭包

6 指针

7 深拷贝和浅拷贝

七、第七章 Go文件操作

1 内存存储

2 文件存储

八、第八章 错误处理

1 error接口

2 defer语句

3 panic和recover

九、第九章 Go单元测试

1 Go进行单元测试

2 Go进行HTTP测试

3 第三方Go测试库

4 Gocheck测试包

5 Ginkgo测试框架

十、第十章 Go面向对象编程

1 值类型和引用类型

2 结构体

3 方法

4 接口

5 函数式编程

十一、第十一章 Go安全编程(加密处理)

1 哈希算法

2 数据加密

3 数字签名

4 数字正式

5 pKI体系

6 加密通信

十二、第十二章 Go并发编程

1 并发法编程基础

2 多进程编程

3 多线程编程

4 Go的并发机制

5 协程及goroutine

6 Channel

7 同步锁及原子操作

十三、第十三章 Go网络编程

1 Socket编程

2 HTTP编程

3 RPC编程(Gob及RPC接口)

4 JSON处理

5 网站开发(net、http包)

十四、第十四章 Go数据库编程

1 MySQL介绍

2 MySQL noinstall安装

3 MySQL图形化方式安装

4 启动和停止 MySQL 服务

5 MySQL数据类型及客户端管理工具Navicat

6 SQL基础入门

7 SQL中元素符

8 SQL常用函数

9 DQL语句高级查询

10 事物及回滚

十五、第十五章 Go爬虫实战开发

四、 Go开发文档

https: //www.studygolang.com/pkgdoc


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

数据库索引设计与优化

数据库索引设计与优化

【美】Tapio Lahdenmaki、【美】Michael Leach / 曹怡倩、赵建伟 / 电子工业出版社 / 2015-6 / 79.00元

《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地估算SQL 运行的CPU 时间及执行时间,帮助读者从原理上理解SQL、表及索引结构、访问方式等对关系型数据库造成的影响,并能够运用量化的方法进行判断和优化,指导关系型数据库的索引设计。 《数据库索......一起来看看 《数据库索引设计与优化》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具