「GO基础」起源与演进


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

  • 推荐:「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.mfbz.cn/a/552276.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring容器结构

文章目录 1.基本介绍1.Spring5官网2.API文档3.Spring核心学习内容4.几个重要概念 2.快速入门1.需求分析2.入门案例1.新建Java项目2.导入jar包3.编写Monster.java4.src下编写Spring配置文件1.创建spring配置文件,名字随意,但是需要放在src下2.创建Spring …

Python景区票务人脸识别系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

Zabbix监控内容

目录 一、自定义监控内容 1、在客户端创建自定义key 1.1明确需要执行的linux命令 1.2创建zabbix监控项配置文件,用于自定义Key 1.3服务端验证测试 2、在Web界面创建自定义监控模板 2.1创建模板 2.2创建应用集(用于管理监控项) 2.3创建…

探索音质与价格的平衡点:iBasso DX260播放器体验

专业的音乐播放器作为音乐爱好者们追求高音质体验的重要工具,但是因为市面上这类产品价格差距往往很大,选择也是非常丰富,所以对于新手来说往往会难以抉择。而且今天的音乐播放器在高端和低端市场也是有着云泥之别,想要找一款在价…

PCB---Design Entry cis 绘图 导出

修改纸张大小: 画图前准备:导入 画图: 习惯: 电源朝上 地朝下 配置pbc_footprint编号: 都配置好编号就可以导出了 导出:

SGI_STL空间配置器源码剖析(五)_S_chunk_alloc函数、oom和优点

_S_chunk_alloc函数是操作自由链表分配小内存、内存不够时还会调用开辟内存函数,个人认为是空间配置器源码中最精华的一个函数,其思想真是精辟! _S_chunk_alloc代码及解析如下: /* We allocate memory in large chunks in order…

腾讯云优惠券介绍及领取教程详解

腾讯云是腾讯集团倾力打造的云计算品牌,提供全球领先的云计算、大数据、人工智能等技术产品与服务,以卓越的科技能力打造丰富的行业解决方案,构建开放共赢的云端生态,推动产业互联网建设,助力各行各业实现数字化升级。…

深入理解JVM中的G1垃圾收集器原理、过程和参数配置

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在Java虚拟机(JVM)中,垃圾收集(GC)是一个自动管理内存的过程&#xff…

信息系统项目管理师0053:设计和实施(4信息系统管理—4.1管理方法—4.1.3设计和实施)

点击查看专栏目录 文章目录 4.1.3设计和实施1.设计方法2.架构模式4.1.3设计和实施 开展信息系统设计和实施,首先需要将业务需求转换为信息系统架构,信息系统架构为将组织业务战略转换为信息系统的计划提供了蓝图。信息系统是支持组织中信息流动和处理的所有基础,包括硬件、软…

消息中间件Kafka分布式数据处理平台

目录 一.Kafka基本介绍 1.定义 2.特点 (1)高吞吐量、低延迟 (2)可扩展性 (3)持久性、可靠性 (4)容错性 (5)高并发 3.系统架构 (1&#…

向量数据库与图数据库:理解它们的区别

作者:Elastic Platform Team 大数据管理不仅仅是尽可能存储更多的数据。它关乎能够识别有意义的见解、发现隐藏的模式,并做出明智的决策。这种对高级分析的追求一直是数据建模和存储解决方案创新的驱动力,远远超出了传统关系数据库。 这些创…

4核8G配置服务器多少钱?2024年阿里云服务器700元1年价格便宜

4核8G配置服务器多少钱?2024年阿里云服务器700元1年价格便宜。阿里云4核8G服务器租用优惠价格700元1年,配置为ECS通用算力型u1实例(ecs.u1-c1m2.xlarge)4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选,CPU采…

手机拍照技术

拍照技巧 说明: 本文将主要介绍摄影和手机常见技巧; 1. 摄影的基本知识 **说明:**关于摄影,手机和相机的原理都是相同的,不同的是相机在很多方面优于手机,但是专业的设备对于我们这种的非专业的人来说,刚…

OpenCV从入门到精通实战(二)——文档OCR识别(tesseract)

导入环境 导入必要的库 numpy: 用于处理数值计算。 argparse: 用于处理命令行参数。 cv2: OpenCV库,用于图像处理。 import numpy as np import argparse import cv2设置命令行参数 ap argparse.ArgumentParser() ap.add_argument("-i", "--imag…

如何获取手机root权限?

获取手机的 root 权限通常是指在 Android 设备上获取超级用户权限,这样用户就可以访问和修改系统文件、安装定制的 ROM、管理应用权限等。然而,需要注意的是,获取 root 权限可能会导致手机失去保修、安全性降低以及使系统变得不稳定。在获取 …

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

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

EelasticSearch的docker安装-----》es客户端使用!!!

1.Docker安装 docker run -d --name es7 -e ES_JAVA_POTS"-Xms256m -Xmx256m" -e "discovery.typesingle-node" -v /opt/es7/data/:/usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 elasticsearch:7.14.02.客户端UI工具,Edge浏览器…

她在《繁花》大放异彩,“浪姐”暴瘦15斤,打脸了不看好她的观众

不知不觉,《浪姐》已经迎来第5季了。播到第4季的时候,改名成《乘风破浪2023》,这一季叫《乘风2024》,和前几季相比,热度依然不减。 都说3个女人一台戏,更何况这个节目,每次能请到30位姐姐&…

基于 LSTM 模型的古诗词自动生成算法实现及系统实现

近年来,研究者在利用循环神经网络(Recurrent Neural Network,RNN)进行古诗自动生成方面取得了显著的效果。但 RNN 存在梯度问题,导致处理时间跨度较长的序列时 RNN 并不具备长期记忆存储功能。随后,出现的基…

基于Java的新闻发布及管理系统的设计与实现(内附设计LW + PPT+ 源码下载)

Java新闻发布及管理系统的设计与实现 项目名称: Java新闻发布及管理系统的设计与实现 项目技术栈 该项目采用了以下核心技术栈: 后端框架/库: JSP (Java Server Pages)数据库: MySQL前端技术: B/S体系结构开发工具…