简介
即达到了静态编译语言的安全和性能,又达到了动态语言开发维护的高效率
go = c+python
既有c静态语言的运行速度,又达到了Python动态语言的快速开发
诞生原因
- 计算机硬件更新频繁,性能提升很快,主流的编程语言明显低于硬件的发展,
不能合理利用多核CPU的优势提升系统性能 - 软件的复杂度日益越来越高,维护成本越来越高,目前缺乏一个简介高效的编程语言。
【现有的编程语言:1风格不统一 2计算能力不够 3处理大并发不够好】 - 企业运行维护很多C/C++项目,C/c++虽然运行速度很快,
但是编译速度很慢,同时还存在内存泄漏的一系列困扰需要解决
从C语言中继承了许多理念
指针
编译方式
基础数据类型等等
引入了包的概念
go语言的包都要归属于一个包,不能单独存在
垃圾回收机制,内存自动回收,不需要开发人员管理
天然并发
从语言层面支持并发,实现简单
goroutine
,轻量级线程,可实现大并发处理,高效利用多核
于CPS并发模型实现
吸收了管道通信机制,形成了C语言特有的管道channel,通过管道,可以实现不同goroute之间的互相通信
函数可以返回多个值
新的创新
切片
延时执行defer