与其他语言相比,Go 语言有什么优势?
与其他语言相比,Go 语言有什么优势?
提示
题眼: Go 三大件:协程、通道、GMP 调度
题解:问的是 Go 的优势,需要和其他语言做对比。Go 常见的对比对象有 C/C++、Java、PHP、Python。
核心要答出来的是 Go 的并发优势。
- Go 语法简单,整体接近 C 语法,学习曲线相对平缓。
- 相较于 Java,Go 的编译速度更快,同时兼顾了接近 C 的运行效率和接近 Python 的开发效率。
- Go 自带内存分配、垃圾回收和运行时等能力,还支持轻量级线程
goroutine与channel通信机制,这种并发模型很适合实现高性能并发程序。 - Go 编译时可以把依赖静态链接进二进制文件,部署比较简单;同时它支持跨平台编译,比如在 Windows 上开发,也可以通过设置目标平台来打包其他系统可执行文件。
重要
参考答案:
Go 语言是一门相对较新的语言,它的设计者里也有当年参与 C 语言设计的人,所以它在语法上和 C 有很多相似的地方。但是它比 C/C++ 更容易上手,编译速度也很快,还自带内存分配、垃圾回收和协程并发这些能力,开发效率比较高。
另外,Go 的部署也很方便,它通常可以直接编译成一个独立二进制文件,还支持跨平台编译。比如我在 Windows 上开发,打包时设置一下目标系统和架构,就可以编译出其他平台可执行的程序。
如果和 Java 对比,我会觉得 Go 在语法层面更简洁,概念负担更轻,学习成本也更低,所以整体上手速度会更快。
相关信息
引申: Go 语言能实现面向对象吗?(见最后)
