go语言介绍
Posted mituxiaoshutong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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开发
项目
- Docker Docker 是一种操作系统层面的虚拟化技术,可以在操作系统和应用程序之间进行隔离,也可以称之为容器。Docker 可以在一台物理服务器上快速运行一个或多个实例
- Kubernetes Google 公司开发的构建于 Docker 之上的容器调度服务,用户可以通过 Kubernetes 集群进行云端容器集群管理。
- etcd 一款分布式、可靠的 KV 存储系统,可以快速进行云配置。
- beego beego 是一个类似 Python 的 Tornado 框架,采用了 RESTFul 的设计思路,使用 Go 语言编写的一个极轻量级、高可伸缩性和高性能的 Web 应用框架。
以上是关于go语言介绍的主要内容,如果未能解决你的问题,请参考以下文章