在我短暂的程序员生涯里只见过两门网红语言:Go和Rust。这俩基本上火到了网上随处可见自来水的地步。于是我认真地研究了一下Go语言的过人之处,总结如下(排名分先后):
1. 并发性能及其出色。这可以说是Go最大的卖点。用Go来实现并发,简单高效又不容易出错。
2. Go的网络库非常强大。这使得Go非常适合做网络与服务器编程。
3. 快。Go是编译型语言,而且不像Java那样需要先编译成虚拟机字节码。
4. 句型简洁。Go写起来很像简单的脚本语言,很容易上手。
5. 类型安全。Go是statically typed的语言。编译器会在执行前检查出各种低级错误。写几百行的后端代码,用Go会比Python和C更可靠。
6. 垃圾回收。程序员不需要纠结内存管理。垃圾回收也是Go的官方卖点之一。
7. 自带强大工具。全网评价最好的就是排版代码格式的gofmt。让团队Code Review变得很方便。
Go还有一些很受欢迎的具体语言特性:
1. 函数可以返回多个值
2. defer机制
3. interface的实现是implicit的,不需要写implements关键字。
4. error是一个类型
Go受欢迎还有一些语言之外的原因,比如Google的光环,社区的活跃与Docker项目的走红等。但总的来说,Go能成为网红是因为它精准地满足了不少开发工程上的需求。