go
语言特性
代码风格统一(命名,缩进)
以首字母大小写区分成员是
public
还是privite
强制缩进风格
错误处理方式优雅统一
- 错误作为最后一个返回值
资源释放方式优雅统一(
defer
)非侵入式接口
发布,运维方便
包管理机制
- 革新了项目管理方式,项目结构和构建顺序依赖于目录组织,引用(import)关系
垃圾自动回收
静态类型
反射
- 常用于对象的序列化(
json
,xml
,gob
,…)
- 常用于对象的序列化(
函数多返回值,提供多重赋值
优雅地同时返回结果和错误
返回多个结果不用像C/C++那样,定义额外的结构体或多个传出参数
高效并发,方便的同步机制
自带单元测试
自带很多好用的库,如
log
,encoding/json
,net/http
,…强大好用的命令行工具,如
gofmt
,gocode
,…方便的枚举常量定义(
iota
)