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


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

查看所有标签

猜你喜欢:

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

Mathematica演示项目笔记

Mathematica演示项目笔记

吴飞 / 清华大学出版社 / 2010-7 / 39.00元

Mathematica是由美国科学家斯蒂芬·沃尔夫勒姆(Stephen Wolfram)领导的Wolfram Research Inc.研究公司所开发的一体化计算引擎。《Mathematica演示项目笔记》结合Mathematica演示项目以及第6版和第7版的最新功能(动态交互性、即时三维图形、数值模拟和仿真、高效实时计算、集成语言系统、多核并行计算和数字图像处理等),讲解了符号计算、程序设计、算......一起来看看 《Mathematica演示项目笔记》 这本书的介绍吧!

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

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具