go语言介绍

go语言介绍

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

背景

  • 计算机硬件技术更新频繁,性能好,编程语言不能合理的利用多核多CPU优势
  • 软件复杂程度越来越高,维护成本高,缺少简洁高效的编程语言,例如:风格不统一,计算能力不够,不能处理大并发
  • c系列项目运行速度快,但是开发效率和编译效率慢,存在内存泄露
  • python项目开发效率快,但是运行效率和CPU利用率低

罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go。

Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。

在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。

罗伯伯是Unix的先驱,是贝尔实验室最早和Ken Thompson以及 Dennis M. Ritche 开发Unix的猛人,UTF-8的设计人。他还在美国名嘴David Letterman 的晚间节目上露了一小脸,

一脸憨厚地帮一胖子吹牛搞怪。让偶佩服不已的是,罗伯伯还是1980年奥运会射箭的银牌得主。他还是个颇为厉害的业余天文学家,设计的珈玛射线望远镜差点被NASA用在航天飞机上。

Rob Pike AT&T Bell Lab前Member of Technical Staff ,现在google研究操作系统。

肯尼斯·蓝·汤普逊(英语:Kenneth Lane Thompson,1943年2月4日-),小名为肯·汤普逊(英语:Ken Thompson),生于美国新奥尔良。为美国计算机科学学者与软件工程师,

任职于贝尔实验室Entrisphere, IncGoogle Inc。与丹尼斯·里奇同为1983年图灵奖得主。他与丹尼斯·里奇设计了B语言、C语言,创建了Unix和Plan 9操作系统,编程语言Go的共同作者。

发展正规表示法,写作了早期的电脑文字编辑器QED与ed,定义UTF-8编码,以及发展电脑象棋。

特点

  • 静态编译语言的性能和安全,动态语言的开发维护效率
  • 继承c的理念,表达式语法,控制结构,基础数据类型,调用参数传值,指针等
  • 包的概念,组织程序结构,go文件归属于一个包下,不能单独存在
  • 垃圾回收机制,内存自动回收,不需要开发人员管理
  • 语言层面天然支持并发,关键字go
  • 管道通信机制,goroutine之间通信
  • 函数多返回值
  • 创新:切片slice,延时执行defer
  • 编码风格统一,简单易懂
  • 标准库丰富强大

应用领域

  • 云计算
  • 区块链
  • 服务器
  • web开发

项目

  1. Docker  Docker 是一种操作系统层面的虚拟化技术,可以在操作系统和应用程序之间进行隔离,也可以称之为容器。Docker 可以在一台物理服务器上快速运行一个或多个实例
  2. Kubernetes  Google 公司开发的构建于 Docker 之上的容器调度服务,用户可以通过 Kubernetes 集群进行云端容器集群管理。
  3. etcd           一款分布式、可靠的 KV 存储系统,可以快速进行云配置。
  4. beego         beego 是一个类似 Python 的 Tornado 框架,采用了 RESTFul 的设计思路,使用 Go 语言编写的一个极轻量级、高可伸缩性和高性能的 Web 应用框架。
原文地址:https://www.cnblogs.com/mituxiaoshutong/p/10946957.html