为什么字节跳动选择使用 Go 语言？
之前一直是听说字节跳动使用 Python 语言作为开发的主要语言，今年秋招实验室去字节跳动的几个同学分属于不同部门，被告知使用 Go 语言。

问题来了：Go语言的优势在哪里？为什么字节选择使用Go开发？
核心原因可能有两个，一个是机器成本，一个是微服务体系。16 年入职的时候，那个时候大多数服务都是 Python 的，且大多是大单体服务。到 16 年底 17年初的时候，全公司开始逐步推广 Golang，各种项目都启动了 Python 到 Go 的重构工作，以及微服务建设。作为一门编译型的强类型语言，配合 GPM模式，Go 的性能比 Python 要高出很多，在机器资源上，改用 Go 之后，甚至有 10 倍之差。从 Python 迁移到 Go之后，能够节省大量的机器资源，降低机器成本。另一方面，Go 号称“云原生”语言，具备学习成本低、工具链丰富、性能优秀、并发友好等特点，连K8S（docker 容器管理系统）都是 Go 开发的。Go 非常适合微服务体系的建设。在 Python 项目往 Go 迁移的过程中，公司的微服务框架kite 也得到了大规模的应用。到 17 年，基本上新项目都是 Go 的了，发展到现在，字节的 Go 生态已经非常成熟，从 RPC 框架、Http框架、开发工具到各种基础库，应由具有。国内也有很多公司在用 Go，比如 B站、腾讯、小米、各种 XXX云公司等。