Go 学习分享

高并发核心

Go 的语法接近 C 语言,但对于变量的声明有所不同。同时,Go 语言原生支持高效的垃圾回收(GC)功能,减轻了系统底层内存管理的负担。

Go 的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础。采取类似模型的其他语言包括 Occam 和 Limbo,但 Go 同样具备 Pi 运算的特征,例如通道(Channel)的数据传输。在 1.8 版本中,Go 开放了插件(Plugin)的支持,这意味着现在能从程序中动态加载部分函数。

与 C++ 相比,Go 并不包括诸如枚举、异常处理、继承、断言、虚函数等功能,但增加了对 切片(Slice)型、并发、管道、垃圾回收、接口(Interface)等特性的语言级原生支持。

对于未来的演进,Go 2.0 版本逐步增加了对泛型的支持;而对于断言的存在则持负面态度,同时也为其不提供类型继承的设计做出了辩护。

不同于 Java,Go 语言在内部直接内嵌了关联数组(也称为哈希表 Hashes字典 Dictionaries),使用起来就像内置的字符串类型一样简单高效。