最近老王一直听身边小伙伴们说 go语言 厉害,有的朋友已经坚定的走向了go的道路,老王也找了些稀缺的go教程来一探究竟。
Go是google大厂2009年推出的一门语言,这个相比 python , php, java 是一门新生语言哈,要知道,golang一看是就是被设计成一门 应用于高并发系统 的 编程语言 ,其可用于搭载web服务器,集群或类似用途的巨型中央服务器。 从这一点看,go对于现在流行的分布式系统具有先天的优势呢~
我们一起来分析下这门语言具体的特点及优势……
01. 性 能
这是衡量一门语言第一指标 从基本测试上看 go的速度要比python快30倍,这个数字实在是惊人啊,相比应用最多的java,go在很多情况下也能有%30-%50的效率提升,当然如果做好优化那就更厉害了
02. Goroutines协程&通道
当然这个要点其实也可以归结为第一个要点的原因,协程是go语言的一大特色,协程概念的提出在70年代,但是至今才得以完美的实现,不得不说理论与实践之间也是有时间周期成本的。好,开始说重点,Goroutines 是 Golang一大特色,所谓协程,是面向 线程 的轻量级线程的统称,可以理解为用户级现成,而通道是 goroutines 之间通信的优先方式。相比创建进程以及线程,创建Goroutines 的成本很低,所以一块cpu可以运行成百上千的goroutines。
我们来看一段代码
1. package main
2. import (
3. “fmt”
4. “time”)func say(s string) {
5. for i := 0; i < 5; i++ {
6. time.Sleep(100 * time.Millisecond)
7. fmt.Println(s)
8. }}func main() {
9. go say(“world”)
10. say(“hello”)}
03. 可称道 类库 支持
对于团队开发效率是关键,go语言的工具类库支持还是很棒的,我们常见的 Redis 、RabbitMQ、 PostgreSQL 、Template parsing、Task scheduling、Expression parsing 和 RocksDB 都有稳定的库,而且现在随着go的流行越来越多的工具库被制作出来,大家以后的开发会越来越便利哦!
以上只是go优势的一部分,咱们看看现在支持go的大型公司,其中包括Google Facebook,腾讯,百度,阿里,京东,360等等,这些国内巨头都在应用这门优秀的语言,所以大家伙不要犹豫啦,赶紧准备好学习这门语言吧!
资深程序猿老王喜欢钻研,欢迎大家留言交流各类技术问题哦!