Go语言的语言特性
- 21世纪的C语言
- 计算机性能的提升需要一个语言能够跟上硬件发展的脚步,在这种背景下由 谷歌公司主持开发了go语言,总的来说,是具有三大特性
- 快速编译 高效执行 易于开发
- 依赖管理是软件开发的一个重要组成部分,go语言采用包模型,通过严格的依赖关系加快了程序的构建的速度,提供了非常好的可量测行
- 内存问题,运行在某种意义上的虚拟机,,通过简单的,标记—清除算法实现高效快速的垃圾回收
- 通过接口的概念实现多态性
- Go语言是静态类型,所以类型安全,构建到本地代码,执行的速度非常快
- 强类型语言,所有的隐形转化类型是不允许的,所有的东西都是显式的
- 交叉编译,可以在运行Linux的计算机运行Widows下运行的应用程序 ,语言层面即源码格式都是使用UTF-8,Go语言做到了真正的国际化
- Go语言的目标是实现CEP即复杂事件处理,海量并行支持,高度的抽象化和高性能
- 因为垃圾回收和自动内存分配的原因,Go语言不适合开发对实时性要求很高的软件
Go语言的特性缺失问题
- 为了简化设计 不支持函数重载和操作符重载
- 为了避免c/c++开发中的BUG混乱,不支持隐式转化
- Go语言放弃类和类型的继承
- 不支持动态加载代码
- 不支持动态链接库
- 不支持泛型
- 通过recover和panic来替换异常机制
- 不支持静态变量
#面试考点
对Go语言自己的理解
简化问题,易于学习
内存管理,简化语法,易于使用
快速编译,高效开发
高效执行
并发支持 轻松驾驭
静态类型
标准类库 规范统一
易于部署
文档全面‘免费开源