• 【开山篇】Go(Golang)概述


    系列文章目录

    第一章 :【Golang系列篇】Go(Golang)概述
    第二章:【Golang系列篇】Go基础-环境安装、Go程序初体验

    大家好,我是无名小歌。

    好久不见啊,各位!!!停更快2个月了,在这期间,忙于备赛国赛的内容(比赛前二十几天),也就全身心的一头扎了进去,比赛完之后呢也因为各种琐事和各种为了放松的心态,以至于直到今天才重新回来。

    准备出go语言的系列内容,希望您不要错过,期待你的关注。
    首先介绍的是golang编程语言的开山篇

    看完你会懂的为什么出现Go、为什么学习Go、Go应用领域、Go的特性等等。

    欢迎加入云社区


    一、Go概述

    Go 是一种静态强类型、编译型、一个开源的编程语言。

    静态强类型:性能很好(如:c/c++…)


    二、Go的诞生

    2.1、创建Go的三大牛人!!!

    • Ken Thompson(肯·汤普森)美国计算机科学学者与软件工程师,任职于贝尔实验室Entrisphere, IncGoogle Inc。与丹尼斯·里奇同为1983年图灵奖得主。他与丹尼斯·里奇设计了B语言、C语言,创建了Unix和Plan 9操作系统,编程语言Go的共同作者。发展正规表示法,写作了早期的电脑文字编辑器QED与ed,定义UTF-8编码,以及发展电脑象棋。
      在这里插入图片描述

    • Rob Pike(罗布·派克)Unix的先驱,是贝尔实验室最早和Ken Thompson以及 Dennis M. Ritche 开发Unix的猛人,UTF-8的设计人。 他还在美国名嘴David Letterman 的晚间节目上露了一小脸,一脸憨厚地帮一胖子吹牛搞怪。让偶佩服不已的是,罗伯伯还是1980年奥运会射箭的银牌得主。他还是个颇为厉害的业余天文学家,设计的珈玛射线望远镜差点被NASA用在航天飞机上。Rob Pike AT&T Bell Lab前Member of Technical Staff ,现在google研究操作系统。
      在这里插入图片描述

    • Robert Griesemer:曾协助制作Java的HotSpot编译器,和Chrome浏览器的JavaScript引擎v8。

    2.2、为什么出现Go???

    • 计算机硬件技术更新频繁,以至于性能提生很快。而对应的主流的编程语言更新迭代明显落后于计算机硬件的发展,所有这里出现一个问题,编程语言不能有效合理利用多核多CPU的特性来提升软件系统的性能,造成了资源的浪费。
    • 随之时间推移,现在主流的语言编写的软件系统(或项目)的复杂度越来越高,维护成本也越来越高,所以目前缺乏一个只够简洁高效的编程语言。(现有的编程语言缺点:风格不统一、计算能力不够、处理大并发不够)
    • c/c++编写的程序运行速度虽然很快,但它编译速度却很慢,还存在内存泄漏的问题。

    综上所述,为了解决这些问题,造就了Golang的诞生。

    内存泄漏(Memory Leak):指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。

    2.3、Go的发展简史

    针对如上的各种情况,于是在2007年,谷歌工程师Ken Thompson(肯·汤普森)、Rob Pike(罗布·派克)、Robert Griesemer 他们正式开始Golang的设计与开发。

    2009年11月正式开源发布;
    2012年3月,正式发布1.0版,走向成熟;
    2015年8月,发布了1.5版,移除最后残余的 “C代码”;
    2017年2月,发布1.8版
    2017年8月,发布1.9版
    2018年2月,发布1.10版
    2018年8月,发布1.11版
    2019年2月,发布1.12版

    三、为什么要学习Go!!!

    Go语言是区块链最主流的编程语言。Go语言是Google公司创建的语言,也是Google主推语言。

    国外大公司如:Google、AWS、Cloudfllare、CoreOS;国内大公司如:七牛、阿里、百度、腾讯、头条、京东、小米、哔哩哔哩等都已经大规模使用Golang开发其云计算相关产品。

    跟上时代步伐,才不会被时代淘汰。

    特点:
    Go语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容Go语言:Go =C+ Python,说明Go语言既有c静态语言程序的运行速度,又能达到Python动态语言的快速开发。

    静态语言:性能很好(如:c/c++…)
    动态语言:开发效率快(如:python)

    四、Go应用领域

    区块链开发工程师

    Go服务器端/游戏软件工程师

    Golang分布式/云计算软件工程师

    最后

    我是无名小歌,欢迎大家一键三连、加入云社区

    (⊙o⊙),我们下期再见!!!

  • 相关阅读:
    表格table设置css3首行在滚动的时候悬停使用sticky属性
    IOI2018 werewolf 狼人 题解
    冷知识:预处理字符串操作符
    MFC主框架和视类PreCreateWindow()函数学习
    华为机试题输入输出总结
    SoviChart数据可视化:条形图(Bar chart)
    loadrunner-controller-手动场景Schedule配置
    BathchData数据分批处理
    Redis系列15:使用Stream实现消息队列(精讲)
    最新得物data参数加密分析与响应数据解密
  • 原文地址:https://blog.csdn.net/qq_48450494/article/details/126491766