本篇内容介绍了“Go前身是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Go 的前身来自于 Inferno[2] (基于 Plan 9[3] 的改造)。 Inferno 包含了一个叫
做 Limbo[4] 的语言。
n 这里引用了一段来自于 Limbo 论文的描述:
Limbo 是用于开发运行在小型计算机上的分布式应用的编程语言。
它支持模块化编程,编译期和运行时的强类型检查, 进程内基于
具有类型的 channel 通讯 ,原子性 垃圾收集 ,和简单的抽象数据类
型。它被设计用于即便是没有硬件内存保护的小型设备上,也能安
全的运行。
n Go 从 Limbo 继承的另一个特性是 channel ,从 Limbo 文档来的另一段描述:
[channel] 是用于向系统中其他代理发送和接收特定类型对象的通讯机制。 channel 可以用于本地进程间通讯;用于连接到命名的目的地的库方法。两种情况都是直接发送和接收操作的。channel 在 Go 中比在 Limbo 中更加好用。如果我们对 Go 的历史深入探索,会发
现一个指向 “Newsqueak[25]” 的线索,这是在类 C 语言中使用 channel 进行通讯的先驱。 channel 并不是这些语言独有的,另一个非类 C 语言: Erlang[7] ,也在使用它。
n Go 让函数很容易成为非常轻量的线程。这些线程在Go中被叫做goroutines
“Go前身是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。