GO语言学习笔记—语言背景

主要作者

罗伯特·格瑞史莫(Robert Griesemer):Google V8、Chubby和HotSpot JVM的主要贡献者。
罗勃·派克(Rob Pike):Unix、UTF-8、plan9的作者。
肯·汤普逊(Ken Thompson):B语言、C语言的作者、Unix之父。

设计目的

Go语言出生名门,当时设计Go的目标是为了消除各种缓慢和笨重、改进各种低效和扩展性。Go是由那些开发大型系统的人设计的,同时也是为了这些人服务的;它是为了解决工程上的问题,不是为了研究语言设计;它还是为了让我们的编程变得更舒适和方便。

但是结合Google当时内部的一些现实情况,如很多工程师都是C系的,所以新设计的语言一定要易学习,最好是C-like的语言;因为有太多的分布式系统、太多的开发者,所以新的语言一定要可以Scale,这个包括开发、工程师、代码、部署和依赖;20年没有出新的语言了,所以新设计的语言必须是现代化的(例如内置GC)等情况,他们觉得要实现这个目标就需要Go成为一个大家都认可的语言。

语言特性

  • 静态编译,强类型语言
  • 内存安全,GC(垃圾自动回收)
  • 语法简单,速度直逼C语言
  • 天生高并发
  • 跨平台(Linux、Windows、Mac os)

Go语言的用途

Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。总而言之,Go语言是一门全能型语言,主要用于开发大型软件。

哪些项目在使用GO语言

  • Docker:Docker 是一种操作系统层面的虚拟化技术,可以在操作系统和应用程序之间进行隔离,也可以称之为容器。Docker 可以在一台物理服务器上快速运行一个或多个实例。例如,启动一个 CentOS 操作系统,并在其内部命令行执行指令后结束,整个过程就像自己在操作系统一样高效。
  • B站:bilibili是国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主。大家可以在这里找到许多欢乐。
  • 知乎:国内最大的知识社区
  • ·······

那些大公司在使用Go语言

  • 腾讯
  • Facebook
  • Google
  • 百度
  • 七牛云
  • 京东
  • 小米
  • 360
  • ······

猜你喜欢

转载自blog.csdn.net/point_to_line/article/details/107728098