目录
GO基本概念
Go是-个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 G0是从2007年末由Robert Griesemer (罗伯特.格利茨默) , Rob Pike (罗伯:派克) , Ken Thompson (肯.汤普森)主持开发,后来还加 入了lan Lance Taylor(伊恩兰斯泰勒),RusS Cox(鲁斯.考斯等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。 现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
最近十年来,C/C++在计算领域没有很好得到发展,并没有新的系统编程语言出现。对开发程度和系统效率在很多情况下不能兼得。要么 执行效率高,但低效的开发和编译,如C++;要么执行低效,但拥有有效的编译,如.NET. Java; 所以需要一种拥有较高效的执行速度、 编译速度和开发速度的编程语言,Go就橫空出世了。
传统的语言比如c++,大家花费太多时间来学习如何使用这i ]语言,而不是如何更好的表达写作者的思想,同时编译花费的时间实在 太长,对于编写编译运行这个链条来说周期太长。动态语言如Python,由于没有强类型的约束,很多问题需要在运行时发现,这种 低级错误更应该交给编译器来发现。
开源 Linux 源码公开(类似跑车的设计图纸)不牵涉版权问题自定义产品名称 Redhat (部分收费) centos (完全免费) 社区团体进行维护 Ubuntu客户端华丽界面中国程序员(windows) 被墙国外程序员 (Ubuntu) 开发软件免费 kali客户端黑客专用渗透测试 闭源windows 安全性不会有很多分支 主轴winXP---- >win----> win10----> win11 收费商业场合 强语言 定义变量需要先定义数据类型int a=10 a= "hello"报错 弱语言 定义变量无需定义数据类型a=10 a= "hello"
●人力成本越来越高
●机器越来越便宜
●机器的性能越来越厉害
●在开发效率和运行速度上达到平衡
go出现之前,无论汇编语言、还是动态脚本语言,在执行效率和开发效率上都不能兼备。
执行效率execution speed: C/C++ > Java> PHP 开发效率developing eficiengy: PHP > Java> C/C++
一家叫做Docker的公司。就是使用Go进行项目开发,并促进了计算机领域的容器行业,进而出现了像Kubernetes这样的项目。现在,我们完全可以说Go是容器语言。
除了大名鼎鼎的Docker,完全用G0实现。业界最为火爆的容器编排管理系统kubernetes完全用G0实现。之后的Docker Swarm,完全 用G0实现。除此之外,还有各种有名的项目,如etcd/consl/lannel, 七牛云存储等等 均使用G0实现。GO语言促使了云的发展。 除了云项目外,还有像今日头条、UBER这样的公司,他们也使用GO语言对自己的业务进行了彻底的重构。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C 1 C++代码的速度,而且更加安全、支持并行进 程。作为出现在21世纪的语言,其近C的执行性能和近解析型语言的开发效率,以及近乎于完美的编译速度,已经风靡全球。特别是在云项目中,大部分都使用了Golang来开发。
go 语言用途
Go语言被设计成- -门应用于搭载Web服务器 昌,存储集群或类似用途的巨型中央服务器的系统编程语言。 对于高性能分布式系统领域而言, Go语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的 开发而言是再好不过了。