page contents

go语言为什么叫golang

Go语言是Google开发的具有良好并发能力的编程语言。不太面向对象,但也支持面向对象的一些特性,个人感觉是够用的。

attachments-2021-09-9sy22KEW613ea725edbc8.jpg

Go语言是Google开发的具有良好并发能力的编程语言。不太面向对象,但也支持面向对象的一些特性,个人感觉是够用的。

语法有些古怪,不过熟悉的之后又会觉得它比较简洁。异常处理也比较另类。包管理也比较另类。

编译的结果比较大,据说有个内置的垃圾处理器。交叉编译比较容易。自带比较完整的标准类库,开源项目很多。

go基础类型比如切片和map对并发支持的很不好。map也就罢了。切片从哪个角度看都是一个不可变的数据结构,居然有并发安全问题。这点有些违背常识了,足见go语言的特色。

go语言并发支持极好,有协程,channel。但是没有一个可以并发安全的数据结构我去。不过现在有并发安全的map了,但是线性表这样的结构还得自己实现。但是这里面又有一个小矛盾,那就是用锁性能差,用channel费内存。

2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Griesemer和Ken Thompson两位牛人,决定创造一种新语言来取代C++, 这就是Golang。

1特点

编译型语言,有比较充分的编译期检查。强类型语言,安全,速度快。严格区分值和指针。机器码目标编译器,不依赖虚拟机。类C逻辑,很多特性与C语言一脉相承,又有很多现代化改进。支持多返回值。有GC。协程模型,屏蔽了os线程概念,抽象了多线程软件开发。基于消息传递的通信方式。支持反射。defer善后处理方式。支持嵌入C语言,汇编语言。跨平台,arm,mips,x86,win,linux,macos,freebsd,设计本身对新平台扩展也很友好。原生支持跨平台交叉编译。用tags代替了C中的宏,更易读,易管理。统一代码风格,全世界的go代码读起来都像自己写的。编译速度非常快,在编译成机器码的语言中来说,有当年delphi的感觉。完善的工具链,编译,调试,测试,文档,性能分析,代码管理,模块管理,版本管理,全部自带,不依赖第三方。面向工程的语言,没有太多新潮的功能。默认UTF-8编码。

2.优势

有C基础的话,学习成本极低。自带功能非常丰富的标准库,许多高级功能基本不需要找三方库。语言和编译期已经稳定,版本升级很谨慎,持续保持兼容性。运行速度快占用资源少,运行速度不输主流的java/c#,占用资源却少很多。不需要考虑内存泄露的C语言?实施简单,通常只需要copy一个可执行文件。与C语言结合机制简单,相比JNI。机器码目标程序增加了破解和反编译难度。只有一套标准和知识,起码目前还没有分裂。交叉编译特别简单方便。


3.劣势

没有真正的面向对象,有类C风格基本的对象和接口组合功能。错误处理比较原始(官方认为这样很好),逻辑控制需要耗费更多精力。目前还没有泛型。(go社区还在讨论,可能在2019年6月前确定是否支持)包依赖要求比较严格的C风格,管理不当容易产生循环依赖错误。没有动态特性,一切都在编译期定了。需要精细粒度控制资源的领域无法取代C。编译时要求拥有全部源代码,没开放类似c的lib功能。三方包著名的较少,选择困难,很多问题还要自己来。官方没有提供GUI开发包,虽然有一些开源实现,但还不适合任复杂图形界面开发。移动前端开发还不成熟。自带模板引擎功能很弱,不是很好用,一般需要自行扩展。相比java,没那么适合堆集木。生态中的三方lib很多还不那么不完善(相比java)。4.主要用在哪些场景?

有C的支持,用在哪里都可以,不过用在最多的地方是是开发网络服务,应用服务,命令行工具。

Go语言是一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,它用批判吸收的眼光,融合C语言、Java等众家之长,将简洁、高效演绎得淋漓尽致。

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

程序员编程交流QQ群:805358732

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。

attachments-2022-06-FxJbLVxG62afe7d4b9326.jpeg

  • 发表于 2021-09-13 09:19
  • 阅读 ( 641 )
  • 分类:Golang

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章