- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Golang之美教程
Golang之美 —蔡欣圻、邵聪聪 2016-09;目录;Golang的哲学;Golang之美;
六、简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、多态、接口等。
七、丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大,是目前标准库最强大的语言之一,基本上平时使用的所有功能都可以在标准库中觅得身影。
八、完善的第三方生态环境,你所需要的所有功能都可以在第三方库中找到,而且go的三方库开发非常活跃,这个通过github的统计数据就可以得知,具体的三方库部分列表可以通过awesome-go去查看
九、跨平台编译
可以在任何一个平台编译其它所有系统和平台的发布版本,例如在mac上编译windows、linux、plan9、fuchsia,编译平台包括i386、amd64、arm等等,所以go在物联网和嵌入式领域特别有优势,编译出来的不仅体积小,而且无需安装任何依赖就可以在嵌入式系统中运行
十、内嵌C、C++支持,前面说了作者是C的作者,所以Go里面也可以直接包含c代码,利用现有的丰富的C库,不过其实我们并不提倡这么做,因为Go语言已经足够快,也许只有在数据库底层存储这种场景需要调用C、C++函数去完成一些任务了。
十一、内置强大的工具
Go语言里面内置了很多标准工具链,包括了代码格式化和风格提示、单元测试、Benchmark、系统profile、代码生成、文档生成等等。;例如,gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,对于后续项目的维护非常有优势。很多人都发现go的第三方库的源码非常好阅读,就是因为简洁的语法和统一的代码风格。
下面附上Go自带的标准profile工具生成的图(在本地对远程的服务器进行profile),只需一行命令即可:
1、系统中各个函数的调用关系和CPU时间分布图:
go tool pprof -web http://xx.14.200:6001/debug/pprof/profile
;
2、内存使用大小分布:
go tool pprof -web -alloc_space http://xx.7.14.200:6001/debug/pprof/heap
;
3、内存对象分配数分布:
go tool pprof -web -alloc_objects http://xx.7.14.200:6001/debug/pprof/heap;
4、强大、简单的benchmark
代码:
package bench
import (
testing
)
// 测试Xor性能
func BenchmarkXor(b *testing.B) {
a := 0
for i := 0; i b.N; i++ {
final := 0
for i := 0; i 1000; i++ {
final ^= i
}
a = final
}
_ = a
}
命令go test -v -run=none -bench=. -benchmem -benchtime=‘3s’
结果
BenchmarkXor-8 310 ns/op 0 B/op 0 allocs/op
PASS
ok go_test/bench 6.537s; Golang vs Java;
五、接口:
java中的接口作为不同组件中的契约存在,是强制的,类必须声明实现了某接口,需要从该接口继承。哪怕是两个一模一样的接口但只有名字不一样,也只能根据类所声明的实现接口是否包括该接口来决定该类是否实现该接口,叫做“侵入式”的接口。而GO语言中采用的是非侵入式接口,一个类只需要实现接口要求的所有函数,那我们就说该类型隐式实现了该接口,这个在使用第三方库的时候非常易用,大大减少了库之间的耦合度。GO语言可以通过接口进行接口查询(接口指向的对象是否实现了另外的接口),类型查询等
六、多态
您可能关注的文档
- 第四章 电力系统及其自动化.ppt
- GIS支持下的土壤侵蚀量估算教程.doc
- GIS技术教程.pptx
- 第四章(马克思主义基本原理).ppt
- GIS实习:地形分析教程.doc
- GIS数据结构习题教程.doc
- GIS技术在勘查中应用第四章预测模型及其应用教程.pptx
- GIS地理信息系统第一章绪论教程.pptx
- GIS竞赛试题教程.doc
- 第四章电控舒适、娱乐系统 《汽车车身电控技术 》毛峰主编.ppt
- 2025至2030中国摩托车配件行业发展分析及发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030中国挖土机行业供需趋势及投资风险报告.docx
- 2025至2030中国挖掘机裂土器行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国拉杆箱行业产业运行态势及投资规划深度研究报告.docx
- 2025至2030中国拍卖行业发展分析及产业运行态势及投资规划深度研究报告.docx
- 2025至2030中国放射治疗直线粒子加速器行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国搅拌机和搅拌机行业产业运行态势及投资规划深度研究报告.docx
- 2025至2030中国机械锻压机行业运行策略与未来产量规模预测报告.docx
- 2025至2030中国村镇银行行业深度分析及发展前景与发展战略报告.docx
- 2025至2030中国极压抗磨剂市场运营风险与未来发展行情走势预测报告.docx
最近下载
- 2023年苏州卫生职业技术学院单招职业适应性测试模拟试题及答案解析.docx VIP
- 大疆 DJI Matrice 4 系列 - 用户手册 v1.0.pdf
- 2025年北京海淀区九年级中考二模英语试卷试题(含答案详解).pdf VIP
- 供应商评审表(代理商及贸易商类-现场评审).pdf VIP
- 2024年苏州卫生职业技术学院单招职业适应性测试模拟试题及答案解析.docx VIP
- 2023年陕西省初中学业水平考试生物、地理试卷含答案.docx
- 11BS3 给水工程(华北标图集).docx
- 2025年苏州卫生职业技术学院单招综合素质考试模拟试题及答案解析.docx VIP
- 2025年苏州卫生职业技术学院单招职业适应性测试模拟试题及答案解析.docx VIP
- HGT 4120-2024《工业氢氧化钙》.pdf
文档评论(0)