go语言学习笔记-初识Go语言
Go语言是怎样诞生的?
Go语言的创始人有三位,分别是图灵奖获得者、C语法联合发明人、Unix之父肯·汤普森
(Ken Thompson)、Plan 9操作系统领导者、UTF-8编码的最初设计者罗伯·派克(Rob Pike)、
以及Java的HotSpot虚拟机和Chrome浏览器的JavaScript V8引擎的设计者之一
罗伯特·格瑞史莫(Robert Griesemer)。
他们可能都没有想到,他们三个人在2007年9月20日下午的一次普通讨论,
就这么成为了计算机编程语言领域的一次著名历史事件,
开启了一个新编程语言的历史。

Go是否值得我们学习?
1、基于21世纪互联网的C语言。
2、如今的Go语言已经逐渐成为了云计算时代基础设施的编程语言。
3、云计算基础设施软件的大部分流行和可靠的作品,比如:Docker、
Kubernetes、Prometheus、Ethereum(以太坊)、Istio、CockroachDB、
InfluxDB、Terraform、Etcd、Consul等等。
4、Go除了在云计算基础设施领域,拥有上面这些杀手级应用之外,
Go语言的用户数量也在近几年快速增加。
5、Go语言项目技术负责人罗斯·考克斯甚至还专门写过一篇文章,
全世界范围的Gopher数量从2017年中旬的最多100万,增长到2019年11月的最多196万,
大概每18个月翻一番。庞大的Gopher基数为Go未来的发展提供持续的增长潜力和更大的想象空间。
Go 语言的核心优势
1、 高速的效率
Go 语言在保证了快速编译的同时,也保证了高效的开发效率和程序运行性能。
开发过程中相较于 Java 和 C++ 呆滞的编译速度,Go 的快速编译时间是一个主要的效率优势。
2、 易学习,成本低
Go 语言语法简单,包含了 类C 语法。因为 Go 语言容易学习,所以一个普通的大学生,
只要有基础的 C 语言基础,花几个星期就能写出来可以上手的、高性能的应用。
3、 强大的标准库
Go 里面的标准库基本上已经是非常稳定了,特别是网络层、系统层的库非常实用。
Go 语言的 lib 库麻雀虽小五脏俱全。
Go 语言诞生在互联网时代,因此它天生具备了去中心化、分布式等特性,
具体表现之一就是提供了丰富便捷的网络编程接口。
4、 简单的高并发
Go 语言的 Goroutine 和 Channel 这两个神器简直就是并发和异步编程的巨大福音。
像 C、C++、Java、Python 和 JavaScript 这些语言的并发和异步方式太控制就比较复杂了,
而且容易出错,而 Go 解决这个问题非常地优雅和流畅。
5、 出身名门、血统纯正
从 Go 语言的创造者,到 Go 语言的富爸爸 Google 公司,那可以说是占尽了先机。
Google 在业界的知名度和实力自然不用多说,Google 公司聚集了一批牛人,
在各种编程语言称雄争霸的局面下推出新的编程语言,自然有它的战略考虑。
6、 规范性
Go 语言带来的代码规范之外,还有强大的编译检查、完整的软件生命周期工具,
具有很强的稳定性。Go提供了软件生命周期(开发、测试、部署、维护等等)
的各个环节的,如 go tool、gofmt、go test。
Go语言的使用者们
Google
这个不用多做介绍,作为 Go 语言的富爸爸,当仁不让。
Facebook-Facebook 也在用,为此他们还专门在 Github 上建立了一个开源组织 facebookgo,大家可以通过访问查看 facebook 开源的项目。
腾讯
腾讯作为国内的大公司,还是敢于尝试的,尤其是 Docker 容器化这一块,他们在 2015年 已经做了 docker 万台规模的实践。
阿里-阿里巴巴具体的项目不太清楚,不过听说其系统部门、CDN 等正在招 Go 方面的人。
京东-京东云消息推送系统、云存储,以及京东商城等都有使用 Go 做开发。
小米-小米对 Golang 的支持,莫过于运维监控系统的开源。
此外,小米互娱、小米商城、小米视频、小米生态链等团队都在使用 Golang。
360-360对 Golang 的使用也不少,一个是开源的日志搜索系统 Poseidon,托管在 Github 上。
更多技术内容关注 ---> 
go语言学习笔记-初识Go语言的更多相关文章
- Go语言学习笔记(一) [Go语言的HelloWorld]
日期:2014年7月18日 1.简介 Go 编程语言是一个使得程序员更加有效率的开源项目.Go 是有表达力.简 洁.清晰和有效率的.它的并行机制使其很容易编写多核和网络应用,而新奇的类型系 ...
- C语言学习笔记一---C语言概述
一.编程语言与解释语言 1.程序的执行 a.解释:借助一个能试图理解程序的程序,使计算机按要求执行你自己写的程序 b.编译:将所写程序翻译为机器语言写的程序,使计算机按要求执行你自己写的程序 2.两者 ...
- C语言学习笔记01——C语言概述
作者:Eventi 出处:http://www.cnblogs.com/Eventi 欢迎转载,也请保留这段声明.谢谢! 1 C语言的起源 1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritc ...
- 【C语言学习笔记】C语言函数执行成功时,返回1和返回0,究竟哪个好?
基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...
- R语言学习笔记1——R语言中的基本对象
R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...
- C语言学习笔记:15_c语言中的进制操作.c
/* * 15_c语言中的进制操作.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include & ...
- C语言学习笔记---2.C语言数据类型
1.C语言基本数据类型 1.1 int类型 int类型是有符号整型,即int类型的值必须是整数,可以是正整数.负整数或零.其取值范围依计算机系统而异.一般而言,储存一个int要占用一个机器字长. 声明 ...
- C语言学习笔记---1.C语言概述
1.典型C程序结构 2.C程序细节 2.1#include指令和头文件 #include这行代码是一条C预处理器指令(preprocessor directive).通常,C编译器在编译前会对源代码做 ...
- C语言学习笔记 (008) - C语言字符串操作总结大全(超详细)(转)
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...
随机推荐
- CVPR 2022数据集汇总|包含目标检测、多模态等方向
前言 本文收集汇总了目前CVPR 2022已放出的一些数据集资源. 转载自极市平台 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结.最新技术跟踪.经典论文解读.CV招聘信息. M5Produc ...
- 24张图攻克border-image
大家好,我是半夏,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注 点赞 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师-关注公众号:搞前端的半夏,了解更多前端知 ...
- 聊聊 node 如何优雅地获取 mac 系统版本
背景 今天突然碰到了一个兼容性需求,需要根据不同 macOS 版本,进行不同的兼容性处理. 没想到看似简单的需求,中间也经历了一番波折,好在最后解决了问题. 在此记录一下解决问题的过程,也方便其他有类 ...
- vmware安装或卸载时,显示无法打开注册表项
vmware卸载是出了名的臭名昭著,因为太难删干净了,删不干净又会有各种各样的问题.比如下文这个"无法打开注册表项" 这个我相信有很多人在重装vmware的时候遇到过,因此我来 ...
- 243张图片为你解析轻量级自动运维化工具Ansible
Ansible 是什么 ? ansible架构图 ansible特性 模块化:调用特定的模块,完成特定的任务: 基于Python语言研发,由Paramiko, PyYAML和Jinja2三个核心库实 ...
- 掌握AI学习路上核心理论知识,你绝对不能错过这份最全资料包
人工智能成为当下科技发展的代表之一,持续受到了不少追捧,不管你是否是这一专业的学生或者职场人,学习并掌握一项新潮技能总是不会被同龄人淘汰的.我曾经问过别人.也被别人问过关于学习人工智能(AI)最好的方 ...
- ansible模块的介绍与使用
ansible-doc的使用 1.ansible-doc -h可以看见ansible-doc的所有参数 2.ansible-doc 命令格式:ansible-doc [-l|-F|-s] [optio ...
- 关于前端ajax请求获取数据成功之后无法操作数据的原因及解决方法
前言:做项目的时候我用ajax请求json数据,遍历使用数据时却发现页面无响应.关于这个问题今天有个朋友又问了我一次,记录一下.由于我没有记录,这里用我朋友的图片. 代码现象: 这里他是使用alert ...
- 代码审计VauditDemo程序到exp编写
要对一个程序做系统的审计工作,很多人都认为代码审计工作是在我们将CMS安装好之后才开始的,其实不然,在安装的时候审计就已经开始了! 一般安装文件为install.php或install/或includ ...
- 现有教学数据库JX_DB,作业
现有教学数据库JX_DB,数据库有以下三个基本表: 学生表student,它由学号sno.姓名sname.性别sex.出生日期Bdate.所在系dept五个属性构成.其中,学号不能为空,值是唯一的: ...