← 返回文章

Go编程语言简介

Go 优缺点、语言特性、未来发展

参考文章:

Go Programming Language (Introduction) - GeeksforGeeks

GO语言、DOCKER 和新技术

Go语言的优缺点

优点:

  1. 灵活-简洁、简单易读。
  2. 并行和异步编程几乎无痛点 - 它允许多个进程同时有效运行;Go 语言的 Goroutine 和 Channel 这两个神器简直就是并发和异步编程的巨大福音。
  3. 快速结果-它的编译时间非常快。
  4. lib 库-它提供了一个丰富的标准库。
  5. 垃圾收集-这是 Go 的一个关键特征。Go擅长对内存分配进行大量控制,并极大地减少了最新版本垃圾收集器的延迟。
  6. 它验证了接口和类型嵌入。

缺点:

  1. 它不支持泛型,即使对此有很多讨论。
  2. 用这种编程语言分发的包相当有用,但 Go 在传统意义上不那么面向对象。
  3. 缺少一些库,特别是用户界面工具包。

Go语言开发的一些热门应用

  • Docker:一套用于部署linux容器的工具
  • **Openshift:**红帽的云计算平台。
  • **Kubernetes:**无缝自动化部署流程的未来
  • **Dropbox:**将一些关键组件从Python迁移到Go。
  • **Netflix:**他们服务器架构的两部分。
  • **InfluxDB:**是由InfluxData开发的开源时间序列数据库。
  • **Golang:**语言本身是用Go编写的。

go语言的特性

  • **语言设计:**语言的设计者有意识地使语言保持简单易懂。整个细节在几页内,通过语言中的面向对象支持做出了一些有趣的设计决定。为此,该语言固执己见,并推荐了一种习惯性的实现方式。它更喜欢 组件 而不是继承。在 GO 语言中,*“少花钱多办事”*是座右铭。
  • **软件包管理:**Go 合并了与开源项目合作的现代开发人员工作流程,并将其包含在管理外部软件包的方式中。工具中直接提供支持,以获取外部软件包,并在一组简单命令中发布自己的软件包。
  • **强大的标准库:**Go 拥有强大的标准库,以包的形式分发。
  • **静态打字:**Go 是静态编辑语言。因此,在这个编译器中,不仅致力于成功编译代码,还确保类型转换和兼容性。由于此功能,Go 避免了我们在动态类型语言中面临的所有问题。
  • **测试支持:**Go 本身提供了单元测试功能,即一个简单的机制,可以与代码并行编写单元测试,只有这样才能通过自己的测试来理解代码覆盖范围。也很容易地用于生成代码文档作为示例。
  • **平台独立:**Go 语言与 Java 语言一样,因为它支持平台独立。由于其模块化设计和模块化,即代码被编译并转换为尽可能小的二进制形式,因此不需要依赖。其代码可以在任何平台或您处理的任何服务器和应用程序中编译。

Go 语言未来发展

PaaS 是一个被世界或是被产业界严重低估的平台。

PaaS 层是承上启下的关键技术,任何一个不重视 PaaS 的公司,其技术架构都不可能让这家公司成长为一个大型的公司。因为 PaaS 层的技术主要能解决下面这些问题。

  • **软件生产线的问题。**持续集成和持续发布,以及 DevOps 中的技术必需通过 PaaS。
  • **分布式服务化的问题。**分布式服务化的服务高可用、服务编排、服务调度、服务发现、服务路由,以及分布式服务化的支撑技术完全是 PaaS 的菜。
  • **提高服务的可用性 SLA。**提高服务可用性 SLA 所需要的分布式、高可用的技术架构和运维工具,也是 PaaS 层提供的。
  • **软件能力的复用。**软件工程中的核心就是软件能力的复用,这一点也完美地体现在 PaaS 平台的技术上。