Go语言:从入门到基础实践
1. Go语言概述与对比
Go语言在当今丰富的编程语言生态中占据着独特的位置。它能共享环境,在合适的场景下实现资源共享。
与Python和PHP不同,Python和PHP的底层主要用C语言构建,其内置对象、方法和函数(用C实现)的执行速度比应用层的对象、方法和函数更快。对于Python和PHP,提高性能的一个技巧是将性能关键的代码用C重写。而Go应用程序会编译成二进制文件,标准库软件和应用代码都会被编译成机器码,二者没有区别。
JavaScript诞生于短短十几天内,由于被集成到所有主流的Web浏览器中,成为世界上最流行的语言之一。近年来,在Node.js平台的推动下,JavaScript也被用于服务器端、桌面应用程序等领域。Go和JavaScript(主要通过Node.js)可以填补相似的应用场景,但实现方式不同。
JavaScript采用单线程模型,尽管异步I/O可能使用单独的线程,但主程序在单线程中执行。当主线程中的代码执行时间过长时,会阻塞其他代码的执行。而Go使用多线程模型,运行时管理着在不同线程上并发运行的goroutine。这种多线程跨多核运行的模型,能比JavaScript的单线程更好地利用可用的硬件资源。
Node.js使用由Google创建并用于Google Chrome的V8引擎,该引擎包含一个带有JIT编译器的虚拟机,这在概念上与Java类似。虚拟机和JIT可以带来一些性能提升,随着程序的长时间运行,V8引擎可以不断学习并优化性能。而Go程序是编译后的机器码,以静态类型的机器码速度执行,不需要JIT来优化运行时执行,就像C语言一样,没有实际的JIT需求。
在包处理方面,
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



