三大特点
- 开发效率高
- 原生支持高并发
- 高性能
开发效率高
- 语言简单,容易上手,只有25个关键字。
关键字少,框架很少,设计理念追求简单 - 编译速度很快
- 运维部署简单
Java需要装JDK,JRE这些运行环境。JavaScript需要装Node.JS运行环境。Go语言不需要,编译好之后的可执行文件可以直接执行。
原生支持高并发
- 语言层面的原生设计GOROUTINE协程比,协程比进程更轻量级。
- 进程是资源分配的最小单位,现成是CPU调度的最小单位。一个进程可以有很多个线程,一个线程可以有上千个协程。
- Go语言的协程不是用CPU进行调度的,是在用户空间用Golang的一个调度器去调度不同的协程,因为协程的量级比线程要轻很多,所以可以一下子起几百个,几千个协程,同时并发一起运行。具有原子操作性。
Go语言的性能很好
- 运算性能是Java的1.5倍左右,运行空间是Java的几十分之一,启动时间是Java的几十分之一,并发量是Java的上千倍。
- 虽说性能上不如C语言,但是语法上要比C语言更加“优化”一些。C语言是过程性语言,申请内存和分配内存都需要手工处理,而Go语言支持简单的自动化GC。
Go语言设计的核心理念
- 语言功能简单
- 正交性:相互之间依赖关系少