Go 的特点
1.高性能、高并发
Go 语言有和C++/JAVA媲美的性能,内建了对高并发的支持(不像很多编程语言以库的形式支持)。即在Goland中无需寻找经过高度性能优化的第三方库来开发应用,只需要使用标准库或者任意基于标准库的第三方库即可开发高并发应用程序。
2.语法简单易懂、学习曲线平缓
Go 语言语法风格很类似C语言,在C语言的基础上进行大幅度的简化(如去掉不需要的表达式括号、仅有for循环就可以实现各种遍历)。因此GO语言上手容易,学习期一周即可成为熟练的开发者,从学习阶段转到开发阶段并完成一个高并发的应用程序的开发。
例如:只需十行就完成了一个可以承载静态文件访问的支持高并发高性能的服务器。
Package main
Import (
“net/http”
)
Func main(){
http.Handle(“/”,http.FileSever(http.Dir(“.”)))
http.ListenAndServe(“:8080”,nil)
}
3.丰富的标准库
Go 语言和Python一样拥有机器丰富、功能完善、质量可靠的标准库。无需借助第三方库就可以完成大部分基础功能的开发,大大降低学习和使用成本。最关键的是(也是第三方库所不具备的)标准库有很高的稳定性和兼容性保障,还能享受语言迭代带来的性能优化。
4.完善的工具链
Go 语言拥有丰富的工具链,编译、代码格式化、错误检查、帮助文档、包管理、代码补充提示都有对应的工具。并且内置了完整的单元测试框架,能够支持单元测试、性能测试、代码覆盖率、数值竞争检测、性能优化,保障代码稳定运行。
5.静态链接
Go 语言的所有编译结构都是静态链接,只需要拷贝编译过后的唯一一个可执行文件就能部署运行。体积可以控制得非常小,部署非常方便快捷。对比C++需要附加一堆.so文件才能正确运行,JAVA则需要附加一个庞大的JRE才可以运行。
6.快速编译
Go 语言拥有静态语言里最快的编译速度。这对比C++开发,编译速度快到不可想象。
7.跨平台
Go 语言可以在不同的操作系统上编译运行,也可以用来开发安卓、IOS软件,也能在各种奇奇怪怪的设备上运行(包括路由器、树莓派)。具有交叉编译特性(在平板上编译的二进制文件拷贝到路由器上运行,无需配置交叉编译环境),支持跨平台编译,无需修改代码,提高了代码的可移植性。
8.垃圾回收
类似JAVA,Go 语言写代码时无需考虑内存的分配与释放,可以专注于业务逻辑。
写在文末:
个人感想:充分并深入地学习GO语言的各个特点才能更好地理解其优势所在,增进学习兴趣,而且有助于日后在正确的场景下适当地使用它。