极客视点
极客时间编辑部
极客时间编辑部
113240 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/03:03
登录|注册

用Go语言进行编程的利与弊

讲述:杜力大小:1.40M时长:03:03
近年来,Go 语言在国内外都很受欢迎,谷歌、AWS、七牛、阿里等都在大规模使用 Go 语言开发其云计算相关产品。日前,塞缪尔·琼斯(Samuel Jones )发文分享了用 Go 语言进行编程的利与弊。
Go 语言广受欢迎的的原因有很多,以下列出了 9 个 Go 语言的优点。
1. Go 语言速度非常快。因为 Go 语言是编译成机器码的,因此,它的表现自然会优于那些解释性或具有虚拟运行时的编程语言。Go 程序的编译速度也非常快,并且生成的二进制文件非常小。
2. 易于掌握。相较于其他语言,Go 语言的语法简单,干净易懂。开发者可以把 Go 语言的大部分语法记在脑子里,这节省了不少时间。
3. 强大的静态类型定义语言。Go 语言有基本类型,也有结构类型。与任何强类型语言一样,类型系统允许编译器帮助捕获整个类的错误。Go 语言还具有内置的列表和映射类型,而且它们也易于使用。
4. 有接口类型。任何结构都可以简单地通过实现接口的方法来满足接口。这允许你解耦代码中的依赖项。然后,你可以在测试中模拟你的依赖项。通过使用接口,你可以编写更加模块化的可测试代码。
5. 标准库。Go 语言的标准库提供了方便的内置函数,用于处理基本类型。有些包可以让你轻松构建一个 Web 服务器、处理 I/O、使用加密技术以及操作原始字节。
6. 测试支持。测试支持内置在标准库中,不需要额外的依赖。如果你有个名为 thing.go 的文件,请在另一个名为 thing_test.go 的文件中编写测试,并运行“go test”。Go 就将快速执行这些测试。
7. 静态分析工具众多。比如其中一个特别的工具是 gofmt,它根据 Go 的建议风格对代码进行格式化。这可以规范项目的许多意见,让团队奖经理集中在代码所做的工作上。
8. 垃圾收集。在设计 Go 语言时,有意将内存管理设计得比 C 和 C++ 更容易。动态分配的对象是垃圾收集。Go 语言使指针的使用更加安全,因为它不允许指针运算。还提供了使用值类型的选项。
9. 更容易的并发模型。虽然并发编程从来就不是一件易事,但 Go 语言在并发编程要比其他语言更容易。
这样来看,Go 语言确实是一门优秀的语言。但是,编程语言的全部并不仅仅是指它的语法。在使用时也会遇到一些问题。比如没有泛型、接口是隐式的、库支持不佳、社区沟通很难、分裂的依赖关系管理等。
因此,在决定是否使用 Go 语言时,开发人员给出的两个经验法则是:
如果你处理的是字节,那么 Go 语言可能是一个不错的选择。
如果你处理的是数据,那么 Go 语言可能不是一个好的选择。
原文链接:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • coder
    怎么理解 字节 vs 数据?
    7
  • 我要换个名字
    go写起来很爽,很适合做中间件和底层应用
  • 求具体的应用场景,感觉无法理解字节和数据的区别
  • Gerry
    我理解是,go适合底层系统和执行效率的场景,而不适合大数据和更上层的处理。因为还是一门新语言还在完善中
  • 司空浩玄
    同问字节vs数据区别
  • 林家振
    字节是指信息增删改查? 数据是指数据统计计算?
收起评论
显示
设置
留言
6
收藏
71
沉浸
阅读
分享
手机端
快捷键
回顶部