首页 > Go语言教程 > Go语言简介 阅读:4,821

Go语言适合做什么

Go语言作为 Google 2009 年推出的开发语言,其被设计成一门应用于搭建 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。从 1.0 版本开始就备受众多开发者关注并得到广泛使用,Go语言的简单、高效、并发特性吸引了众多传统语言开发者的加入,而且人数越来越多。

对于高性能分布式系统领域而言,Go语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。

其实Go语言主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于很多程序员一起开发大型软件,并且开发周期长,支持云计算的网络服务。Go语言能够让程序员快速开发,并且在软件不断的增长过程中,它能让程序员更容易地进行维护和修改。它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。

鉴于Go语言的特点和设计的初衷,Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于 Web 应用、API 应用、下载应用等;除此之外,Go语言还适用于内存数据库和云平台领域,目前国外很多云平台都是采用Go语言开发的。
  • 服务器编程,以前大家如果使用 C 或者 C++ 做的那些事情,用 Go 来做也很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
  • 分布式系统、数据库代理器、中间件等,例如 Etcd。
  • 网络编程,这一块目前应用最广,包括 Web 应用、API 应用、下载应用,而且 Go 内置的 net/http 包基本上把我们平常用到的网络功能都实现了。
  • 数据库操作
  • 开发云平台,目前国外很多云平台在采用 Go 开发

Go 发布之后,很多公司特别是云计算公司开始用 Go 重构他们的基础架构,很多都是直接采用 Go 进行了开发,最近热火朝天的 Docker 就是采用 Go 开发的。

使用Go语言开发的开源项目非常多。早期的Go语言开源项目只是通过Go语言与传统项目进行C语言库绑定实现,例如 Qt、Sqlite 等;后期的很多项目都使用Go语言进行了原生实现,这个过程相对于其他语言要简单一些,这也促成了大量使用Go语言原生开发项目的出现。
  • 云计算基础设施领域,代表项目:docker、kubernetes、etcd、consul、cloudflare CDN、七牛云存储等。
  • 基础软件,代表项目:tidb、influxdb、cockroachdb 等。
  • 微服务,代表项目:go-kit、micro、monzo bank 的 typhon、bilibili 等。
  • 互联网基础设施,代表项目:以太坊、hyperledger 等。