- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Go Lang 介绍
Go 编程语言是 Google 中一些大牛(尤其是有着 plan9 前科的大牛们)如 Rob Pike,Ken Thomason 这两位赫赫有名的程序高手、技术作于2007 年 9 月开始建造。
Pike 指出,Go 代码的编译基本上可以达到 C 语言的速度,几乎可以在瞬间完成,“就像是在使用交互式语言”。现有的语言都没有针对多核心处理器进行优化,为了解决此类编程问题,Google 工程师们开发了 Go 语言。从源文件的 copyright 可以看到,很多基础代码来自plan9.
Go 已在 Google 公司内部测试过,但仍处于试验阶段。Google 开放 Go 的代码,希望籍此帮助 Go 语言的发展。首席软件工程师Rob Pike 说:我们开发Go,是因为近10 年左右开发程序之难让我们有点沮丧。Google 两年前开始开发 Go,1 年前开始有一只团队专职于此。目前只支持 unix 平台, windows 平台的支持由于资源的原因,需要更多的参与者来移植。Go 的定位 是系统编程,比如 Web 服务器、存储系统和数据库等,但也欢迎在其它方面的应用。
Go 语言的官方吉祥物如下:
我看好 Go 的原因是: 这个语言不是凭空或者实验室设计的,而是填补过去10
年在系统编程软件方面的不足。作为系统软件的编写者,经常会深深的感觉到目前常见语言的面对大规模的网络应用,在不断涌现的多核心硬件前的无奈 , 纠缠在多线程和各种锁中间, 不停的制造各种各样的轮子, 低效的排错。Go 拥有的这些现代特性都是系统用户梦迷以求的,经过作者全面的考虑,适当的取舍,即结合了动态语言的弹性,又有了静态语言的安全性和高性能。
目前这个GO 社区非常活跃,邮件列表里每天都有几百个讨论,加上有 Google 的强力支持, 个人认为非常有前途。
那么 GO 能解决什么问题:
硬件很快 软件开发很慢。
依赖很麻烦。
c++ java 太笨拙。
并行和gc
多核心机器的出现,未来几年 128 核心的机器都很常见。
大部分的系统语言并不是设计来解决这些问题的,而且新涌现的大多数库并没有改善这些问题,相反加剧了。
GO 结合了动态语言的开发效率和静态编译型语言的安全性和运行效率,支持网络和多核编程,带给我们快速, 安全, 并发, 快乐。
Go 有着非常高的效率。 实际上golang.org 就是用gdoc 架设的。同时语言效能评测网站()
Go 和其他语言的对比,也充分说明了Go 的效率和c 语言很接近。
GO 的设计目标:
1。 系统编程语言。
快速编译和执行。
类型安全性和内存使用安全。
很好的支持并发计算。
高效,低延迟的垃圾回收算法。
指导原则:
减少 bookkeeping。
更少的关键词,减少无谓的输入。无符号表设计使得语法分析,调试等大幅简单。
保持概念正交
保持简单。
减少类型,无类型层次,避免啰嗦。
语言特性:
清晰,精确的语法语法:大多数从 c 继承, 包机制 Pascal/Modula/Oberon family (declarations, packages),并发从(CSP)那里借鉴。
大写符号导出符号。
函数或者块开始注释是文档,用于 gdoc 处理。
改进的 If, case 复合语句,允许在条件前,执行语句。 Case 不支持自动 fall throught,
必须显示说明。 Case 支持多个判断。
轻量的类型系统没有隐式的转换
强类型,显式类型转化
指针运算 slice 代替 提供安全性通用类型:interface{}
内置数组和字典
支持面向对象编程,但是不支持层次继承。
融合多种语言的特性,各个社区的人都会熟悉,特别是 c, lua, python 社区的用户非常容易上手。
运行期: c 和汇编实现内存的分配和收集,栈管理,轻量级协程,通讯管道,切片,Map 以及反射等等基础设施。
Gc:目前是用经典的简单的 Mark And sweep 算法, 未来会采用更高效,低延迟的算法。库实现:
完全用 Go 语言实现, 不依赖其他系统库
从接口库如 xml, asn1 ,jonson, IO 库,压缩,加密库等等,比较齐全,极大的方便了用户。
支持 unicode. 值得一提的是 Go 的 “hello 世界”,很好的展示了对 unicode 支持。
模块:
Package 管理。一个 package 可以分散在多个文件里,就好比在一个文件效果一样。
扩展:
Cgo 支持 c 和 go 编程混合,使得 GO 的扩展非常容易,让 Cgo 来做参数和类型的转换, 直接连接用户的 c 函数。
Range:for 语句支持通用的迭代,支持数组,字典,通讯管道。特别是通讯管道结合 goroutine,由生产者负责在一
您可能关注的文档
最近下载
- 初中英语语法专项1000题:专题11-时态二(现在进行时)(答案解析).pdf VIP
- 外科学课件:胸部损伤-.ppt VIP
- 2021年1月自考11466现代企业人力资源管理概论试题及答案含解析.pdf VIP
- 营运桥梁变形监测报告.doc VIP
- 防水基本知识的普及雨虹.pdf VIP
- 初中英语语法专项1000题:专题10-时态一(一般现在时)(答案解析).pdf VIP
- 大疆无人机操作教程视频.pdf VIP
- 初中英语语法专项1000题:专题09-动词-专项训练(答案解析).pdf VIP
- 人教版四年级上册道德与法治培优辅差计划.docx VIP
- 东方雨虹聚羧酸减水剂应用.ppt VIP
文档评论(0)