「GO基础」起源与演进

news2024/11/29 10:32:41

在这里插入图片描述
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
在这里插入图片描述

  • 推荐:「stormsha的主页」👈,持续学习,不断总结,共同进步,为了踏实,做好当下事儿~
  • 专栏导航
    • Python面试合集系列:Python面试题合集,剑指大厂
    • GO基础学习笔记系列:记录博主学习GO语言的笔记,该笔记专栏尽量写的试用所有入门GO语言的初学者
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 运维系列:总结好用的命令,高效开发
    • 算法与数据结构系列:总结数据结构和算法,不同类型针对性训练,提升编程思维

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

💖The Start💖点点关注,收藏不迷路💖

📒文章目录

  • 1、起源
  • 2、演进
  • 3、社区发展
  • 4、总结


在这里插入图片描述

1、起源

Go 语言起始于2007年的构想,最终在2009年正式对外发布。自2009年9月21日起,该项目作为谷歌内部的20%创新工时项目启动,相关工程师利用个人时间参与到Go语言的研发工作中。

该语言背后的核心设计者均为IT界的知名专家:

  • Robert Griesemer:曾参与Java HotSpot虚拟机的开发;
  • Rob Pike:作为Go语言项目的总负责人,他早期是贝尔实验室Unix团队的一员,参与了Plan 9、Inferno操作系统和Limbo编程语言的研发;
  • Ken Thompson:也是贝尔实验室Unix团队的关键人物,他也是C语言、Unix和Plan 9的联合创始人之一,同时与Rob Pike联手制定了UTF-8字符集标准。

2、演进

2008年中期,Go语言的设计框架基本成型,部分团队成员转为专职,集中精力投入到编译器和运行环境的具体实现上。期间,Ian Lance Taylor加盟团队,并于2008年5月成功建立了一个gcc前端。

随后,Russ Cox加入团队,专注于语言特性和标准库的开发工作。直至2009年10月30日,Rob Pike通过Google Techtalk首次向外界展示了Go语言的魅力。

2009年11月10日,开发团队正式发布了遵循BSD风格授权(完全开源)的Go语言Linux和Mac OS X版本,紧接着在11月22日,Hector Chu发布了适用于Windows操作系统的版本。

作为开源项目,Go语言依托于社区的共同努力实现了快速增长,并吸引了众多开发者使用和改进。这使得Go语言项目拥有了庞大且活跃的开源社区,并在Ohloh排行榜上取得了显著位置。大约在2011年4月10日,谷歌决定调配专门的员工全职投入到Go语言的进一步开发工作中。开源模式无疑极大地拓宽了开发者群体的参与度,有力地推进了Go语言的快速发展步伐。Andrew Gerrand在2010年加入开发团队,成为共同开发者和重要的支持者。

Tiobe在2010年1月8日宣布Go语言荣膺 2009年度语言 称号后,Go语言在业内引起了广泛的关注。

截至2024年4月 Tiobe指数 GO语言排名如下:

在这里插入图片描述

以下是Go语言发展的几个关键时间节点:

  • 2007年9月21日:初步设计阶段启动
  • 2009年11月10日:首次面向公众发布
  • 2010年1月8日:荣获2009年度编程语言殊荣
  • 2010年5月:谷歌内部开始规模化应用Go语言
  • 2011年5月5日:Google App Engine开始全面支持Go语言

2010年5月起,谷歌开始在其实际的后端基础设施项目中积极应用Go语言,以解决复杂的后台环境管理问题,这一举动践行了“自己创造并使用”的原则,彰显出谷歌对Go语言的高度信任及其在生产力层面的巨大潜力。

3、社区发展

Go语言的官方网站为golang.org,该网站利用Go语言内建的godoc工具在Google App Engine上搭建Web服务器,提供了丰富的文本内容服务。其中一大亮点是Go Playground,这是一个在线的Go代码编辑器沙箱环境,用户无需安装任何环境就能直接在浏览器中编译和运行Go代码,体验诸如经典的"Hello, World!"示例等功能。

有关Go语言的更多信息,可以查阅github.com/golang/go,所有与项目相关的Bug跟踪和新功能提案均可在github.com/golang/go/issues查看。

  • golang-nuts是一个针对Go语言(Golang)的活跃社区论坛,开发者们在这里可以讨论有关Go语言的各种问题,分享代码和经验,互相帮助解决问题。这个论坛是学习和交流Go语言知识的重要平台之一,每天都充满了大量的讨论和问题解决方案。

  • google-appengine-go是一个针对Google App Engine上的具体应用设立的一个论坛,尽管两个论坛的主题有时会相互重叠,但都聚焦于探讨Go语言在该平台的应用问题。

  • go-lang.cat-v.org是Go语言开发者社区的重要资源中心

  • Go Tour Go语言提供的一个运行在Google App Engine上的互动式教程,对于中文用户,可以访问该教程的中文版本,通过命令go get -u github.com/Go-zh/tour tour进行安装。

4、总结

总的来说,Go语言已经发展成为一种广泛使用的编程语言,其简洁、高效和并发的特性使其在多个领域具有广泛的应用前景。


❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏、分享下吧,非常感谢!👍 👍 👍

🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1603218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分类算法——文章分类(五)

文章分类计算 计算结果 P(C|Chinese,Chinese,Chinese,Tokyo,Japan)-->P(Chinese, Chinese, Chinese, Tokyo, Japan|C) * P(C)/P(Chinese, Chinese, Chinese, Tokyo, Japan) P(Chinese|C)5/8 P(Tokyo|C) 0 P(Japan|C) 0思考:我们计算出来某个概率为0,…

HarmonyOS开发实例:【分布式数据服务】

介绍 分布式数据服务(Distributed Data Service,DDS)为应用程序提供不同设备间数据分布式的能力。通过调用分布式数据接口,应用程序将数据保存到分布式数据库中。通过结合帐号、应用和分布式数据服务对属于不同的应用的数据进行隔离,保证不同…

利用CNN-Bigru-Attention模型输电线路故障诊断(Python代码,TensorFlow框架,)

效果视频:利用CNN-Bigru-Attention模型输电线路故障诊断(Python代码,TensorFlow框架,压缩包带有数据集和代码,解压缩可直接运行)_哔哩哔哩_bilibili 售后包免费远程协助运行(用向日葵或者todesk软件协助) …

如何将低分辨率的视频变高清,使用AI工具分辨率画质增强至1080P、4K或者8K(附工具)

环境: Topaz Video AI 5.0 问题描述: 如何将低分辨率的视频变高清,使用AI工具分辨率画质增强至1080P、4K或者8K 原视频 增强1080P 解决方案: 1.打开软件,导入要处理的视频(工具在本文最后附上&#xf…

特步赞助可能“惹乱子”,北京半马进入官方调查阶段

北京半马风波的发酵超乎想象,从4月14日事件发生到现在,舆论已经从对赛事本身的质疑,上升到一些其他的层面。 从最新的信息来看,北京体育局、北京半马组委会表态称事情还在调查,舆论则大多倾向于“特步幕后操盘、外籍选…

UE5 C++ 使用TimeLine时间轴实现开关门

一.添加门头文件 和 声明 #include "Components/TimelineComponent.h" #include"Components/BoxComponent.h" UPROPERTY(EditAnywhere,BlueprintReadWrite,Category "MyCurve")UCurveFloat* MyCurveFloat;UPROPERTY(EditAnywhere, BlueprintR…

生成人工智能体:人类行为的交互式模拟论文与源码架构解析(1)——场景故事介绍

生成NPC为交互应用程序创建逼真的人类行为模拟。在这项工作中,我们通过将二十五个NPC放置在一个沙盒环境中(类似于The Sims,模拟人生),展示了生成NPC的能力。用户可以观察和干预NPC的日常计划、分享新闻、建立关系以及…

分布式光纤测温解决方案

安科瑞电气股份有限公司 祁洁 15000363176 一、方案介绍 分布式光纤测温(DTS)集光电信号检测、计算机技术等为一体,具有实时监测、测温精度高、测量距离长、可精确定位、采用光纤作为传感器和传输介质,具有抗电磁干扰、本征防…

微服务分布式缓存:无法反序列化 Cannot deserialize;

问题描述 在拆分SpringBoot项目搭建微服务的过程中,需要配置分布式缓存,对redis进行配置,配置完成后,在启动Knife4j文档界面时报错,发现是redis无法反序列化的问题,但是报错中所指出的类com.jhin.jhinoj.m…

gazebo中vins-fusion在仿真小车上的部署

软件要求:Ubuntu 20.04 ros的noetic版本,我是在虚拟机vitrualbox上运行的 这几天在学ROS,跟着赵虚左老师过了一遍之后,感觉还是有很多不懂的地方,xtdrone上仿真跟着文档走了一遍,好像没学到什么东西&#…

go语言context

context在服务端编程基本都贯穿所有, Context 是请求的上下文信息。对于RPC Server来说,一般每接收一个新的请求,会产生一个新的Context,在进行内部的函数调用的时候,通过传递Context,可以让不同的函数、协…

如何安装MacOS的虚拟机?mac安装虚拟机的步骤 虚拟机安装MacOS VMware Fusion和Parallels Desktop19

要在Mac上运行MacOS的虚拟机,常用的方法是使用虚拟化软件如VMware Fusion或Parallels Desktop。 以下是安装MacOS的虚拟机的主要步骤: 1. 检查系统要求:确定您的Mac硬件和操作系统满足安装要求。您需要一台具备足够性能的Mac,并…

通过Bedrock Access Gateway解决方案快速访问Amazon Bedrock的多种大语言模型

Bedrock Access Gateway(BAG)解决方案提供了开箱即用、兼容 OpenAI 的代理功能,帮助用户轻松无缝地从 OpenAI 迁移到 Amazon Bedrock。 1. 概述 亚马逊云科技的 Amazon Bedrock 服务支持一系列领先的基础模型,为客户提供多种选择…

【函数式接口使用✈️✈️】通过具体的例子实现函数结合策略模式的使用

目录 前言 一、核心函数式接口 1. Consumer 2. Supplier 3. Function,> 二、场景模拟 1.面向对象设计 2. 策略接口实现(以 Function 接口作为策略) 三、对比 前言 在 Java 8 中引入了Stream API 新特性,这使得函数式编程风格进…

全国产化无风扇嵌入式车载电脑在救护车远端诊断的行业应用

救护车远端诊断的行业应用 背景介绍 更加快速的为急症病人在第一时间开始进行诊断和治疗,是提高病人救助成功率的关键。因此,先进的救护系统正在思考,如何在病人进入救护车之后,立刻能够将救护车中各种检查仪器的信息快速的传回医院&#xf…

学习大数据的第一天

今天学习如何安装hapood安装 1.安装hapood安装 2.需要的资料 3.开始安装 1.创建目录 mkdir -p /export/server 2.进入目录下 cd /export/server/ 3.安装 安装需要的依赖 yum install gcc gcc-c make autoconf automake libtool curl lzo-devel zlib-devel openssl opens…

Redux极客园项目初始化搭建

基本结构搭建 实现步骤 在 Login/index.js 中创建登录页面基本结构在 Login 目录中创建 index.scss 文件,指定组件样式将 logo.png 和 login.png 拷贝到 assets 目录中 代码实现 pages/Login/index.js import ./index.scss import { Card, Form, Input, Button }…

CSS3 新特性 box-shadow 阴影效果、圆角border-radius

圆角 使用CSS3 border-radius属性,你可以给任何元素制作"圆角",border-radius属性,可以使用以下规则: (1)四个值:第一个值为左上角,第二个值为右上角,第三个值…

CST电磁仿真物体表面的Sheet结构和生成3D Model【基础教程】

由Sheet结构生成3D Model 使用Shell Solid and Thicken Sheet! Modeling > Tools > Shape Tools > Shell Solid or Thicken Sheet Shell Solidor ThickenSheet会根据不同类型的模型提供两种完全不同的功能。 如033.由3D Model生成Cavity 所述&#xff…

04-15 周一 GitHub仓库CI服务器actions-runner和workflow yaml配置文档解析

04-15 周一 GitHub仓库CI服务器配置过程文档 时间版本修改人描述2024年4月15日10:35:52V0.1宋全恒新建文档2024年4月17日10:33:20v1.0宋全恒完成github actions CI的配置和工作流配置文件解读文档的撰写 简介 一些基础概念 前提知识 仓库介绍 地址镜像介绍https://github.…