Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。


  • Go 极其地快

其性能与 Java 或 C++相似。在我们的使用中,Go 一般比 Python 要快 30 倍

  • 并发性&通道

    • Go聚焦于打造一门简单的语言,它使用起来异常快速并且简单。其创新点在于goroutines和通道。

      • Goroutines是Go面向线程的轻量级方法

      • 通道是goroutines之间通信的优先方式

  • 极快的编译时间

当前我们使用Go编写的最大微服务的编译时间只需6秒。对于Java和C++蜗牛的编译速度,Go的快速编译时间短是很大的优势。

  • 强大的生态系统

    • Go 有着强大的工具支持,具有面向数据库、模板解析、任务调度、表达式解析稳定的库。

    • Go 的生态系统相比于Rust这样的语言有很大的优势。当然,它又略逊于 Java、Python这样的语言。

  • gRPC 和 Protocol Buffers

Go语言对 protocol buffers 和 gRPC 有一流的支持。这两个工具能一起友好地工作以构建需要通过 RPC 进行通信的微服务器(microservices)。

我们只需要写一个清单(manifest)就能定义 RPC 调用发生的情况和参数,然后从该清单将自动生成服务器和客户端代码。这样产生代码不仅快速,同时网络占用也非常少。


  • 人工智能方向

    • 目前较为火爆的包括算法,计算机视觉,NLP等,但这块门槛和难度都较高,而且主要不在Python侧,在数据结构和算法部分。

  • 数据处理与分析方向

    • 主要学习对数据的处理及分析,目前市面上形形色色的岗位很多,这块来讲主要是学习Python的数据分析相关库,也需要相关领域的知识。

  • Python爬虫

    • 主要是从指定网站或APP获取相关数据,然后进行数据清洗筛选出有用的数据,除Python技能外还需要对前端知识有所了解。

  • Python后端

    • 最接近常规软件开发,大多数Python工程师只做这部分工作。

  • 黑客、计算机桌面程序等

    • 这些方向相对来说比较小众,也可以Python做。

  • 背景好

    • Google出品,创造该语言的人,也是计算机领域知名任务:Ken Thompson、Rob Pike、Robert 等

  • 为并发而生

    • Go的产生就是为了解决实际问题,包括:利用多核、容易些并发程序、解决工程常见问题等。并发性是 Go 突出的亮点。

  • Go性能强悍

  • Go语言简单易学。学习门槛低,会更容易被人接受。

  • 前景好。

    • 从 Go语言中文网最近的流量看,关注Go语言的人有了极大的提高。另一方面,从招聘信息也可以看到,Go的需求量也越来越大。最关键的是,很多大厂都在使用 Go 语言。


Go语言是当时Google为解决内部问题研发的语言,为了解决c或c++程序员编写高并发服务程序时的痛点问题。

问题是C++的代码量庞大,后期引入Java和Python;分布式编译系统和数百万的服务器。Google开发中的痛点就是编译慢,且每个工程师只是用了一个语言里面的一部分。导致程序非常难维护,更新要花的成本越来越大,交叉编译困难。

从语法特征上来说,主要是服务与高并发后台服务器程序而设计出来的小众语言。不可能成为大众语言,高并发和高开发效率,如同鱼和熊掌不可兼得。

对于大型互联网公司拥有几百万台服务器(Google),性能极为重要。

因此,这些公司主要使用C、C++语言,然而C、C++编写高并发程序问题很多,所以google创造了go语言,来解决C++语言编写程序的瓶颈。


目前,python语言更流行,未来10年,依然是python语言的天下。