GO语言

开源公司:谷歌公司

作品详情

外文名
go
展开
发布于
2009年
展开
特点
数组安全、编译迅速
展开
软件版本
1.20.1[2]
展开
软件授权
BSD license[3]
展开
属性
编程语言
展开
作用
开发Android应用的一种BASIC语言
展开
开发公司
谷歌[1]
展开
软件大小
25 至 145 MB[2]
展开




1发展历程





Go是谷歌2009年发布的第二款编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用的一种BASIC语言。


谷歌资深软件工程师罗布·派克(RobPike)表示,“Go让我体验到了从未有过的开发效率。”派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。”


2007年,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%,投入在该项目上。除了派克外,该项目的成员还有其它一些谷歌工程师。


派克表示,编译后Go代码的运行速度与C语言非常接近,而且编译速度非常快,就像在使用一个交互式语言。


现有编程语言均未专门对多核处理器进行优化。派克表示,Go就是谷歌工程师为这类程序编写的一种语言。它不是针对编程初学者设计的,但学习使用它也不是非常困难。Go支持面向对象,而且具有真正的封装(closures)和反射(reflection)等功能。


在学习曲线方面,派克认为Go与Java类似,对于Java开发者来说,应该能够轻松学会Go。


之所以将Go作为一个开源项目发布,目的是让开源社区有机会创建更好的工具来使用该语言,例如EclipseIDE中的插件。目前还没有支持Go的IDE。


在目前谷歌公开发布的所有网络应用中,均没有使用Go。但是谷歌已经使用该语言开发了几个内部项目。


派克表示,Go是否会对谷歌即将推出的ChromeOS产生影响,现在还言之尚早,不过Go的确可以和NativeClient配合使用。他表示,“Go可以让应用完美的运行在浏览器内。”例如,使用Go可以更高效的实现Wave,无论是在前端还是后台。


Go语言是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点:


1.它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。


2.Go语言为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。


3.Go语言是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。


4.Go语言完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。


按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。


Go语言是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生了。




2版本记录





go1.20.1


go1.19.6


go1.20


go1.19.5


go1.19.4


go1.19.3


go1.19.2[2]




3运行环境





Windows


Windows 7 or later, Intel 64-bit processor


macOS


Apple macOS (ARM64)


macOS 10.13 or later, Intel 64-bit processor


Linux


Linux 2.6.32 or later, Intel 64-bit processor[2]




4特色




简洁快速安全并行有趣开源支持泛型编程,内存管理,数组安全,编译迅速



5目标




Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。


6词条图册



声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
某海外公司开发的,我负责后端大部分模块开发。前端用Dart 语言 flutter跨平台技术。 开发社交软件,负责 golang 语言 Linux 下的服务端开发。 1. 根据业务需求 设计数据库和 接口文档。 2. 建立 mongo 数据库,使用 golang 编写后端代码。 3. unit test,end to end test,publish to stagging server test。 4. 发布到云端。 项目管理基于 谷歌文档,jenkins, gerrit, youtrack 等开源工具。 项目划分成模块用 bazel 交叉编译成 docker 镜像. 项目根据不
690docker后端
地址: https://ce2.greensea.org/ 使用公开的嫦娥二号月球 7 米分辨率照片制作的月球在线地图。 模块: 1. 瓦片服务:将原始的 7 米分辨率照片(TIFF 格式)转换成地图瓦片,涉及到地理坐标变换等计算 2. 地图前端:使用开源库 Leaflet 加载瓦片地图 3. 地点数据库和用户评论:内置了月球各种地点的数据,以及人造物体(主要是各种月球探测器)的位置数据,同时用户可点击任意地点发表评论 技术栈 1. 后端使用 go 编写,根据原始 TIFF 数据,按需生成瓦片 2. 前端使用 vue 框架实现基础,地图显示使用开源库 Leaflet 3. 使用 MySQL
2460vuemysqlcssGIS
1. 负责抖音Web顶侧导航开发:客户端引流 LT+0.38%,下载量相对提升+11%,客户端安装启动uv+0.3%;侧导航访登 uv+27.4%, lt+0.1% 2. 抖音web中长视频章节开发,完播率+0.2%,playtime+0.06%, 章节1min+vv占比1%->1.5%,垂类万粉使用率1.6% 3. 抖音PC活动开发支持:春节活动放映厅开发,ST+1.173%,放映厅访问渗透+173%(2%-5.6%),ST+1.32% 4. 负责抖音Web站 SEO 工作:404死链每日提交20万+、url indexing 每日推送 20 万,全站 SEO基础优化、开发 SEO 落
2050前端Reactreact微服务golangweb开发
针对HyperledgerFabric联盟链在背书阶段性能优化与链码资源利用效率的欠 缺,提出了一种名为 Elastic Endorsement Mechanism(EEM)的解决方案。EEM 通过监测 Hyperledger Fabric 的事务处理速率和链码容器整体负载,动态地调整链 码容器数量。旨在匹配背书阶段的实际性能需求与链码总体处理能力,进而提升整个 Hyperledger Fabric 网络的吞吐量并缩减交易延迟、优化整体链码资源利用效率。
使用golang开发的插件化机器人框架 通过阅读并修改源码实现了某些功能 使用了ocr检测图片内屏蔽词 实现了几个插件,例如 实现了通过私聊发表qq空间校园墙 实现了管理员启用停止插件 实现了定时发送定制图片(图片带倒计时(背景图如图,倒计时和每日一句会用指定字体写在图片上 附文件树
当前共906个项目

评论