哈喽,大家好,我是 Go大叔
,专注分享 Go 语言知识,一起进入 Go 的大门。
欢迎大家来到『Go 语言入门到精通』这个专栏,今天是专栏第 1 篇,Go 语言基础介绍
。
什么是Go语言
-
Go语言(Golang)是Google公司2009年推出的一门"高级编程言语", 目的是为了解决: -
"现有主流编程语言"明显落后于硬件发展速度的问题 -
不能合理利用多核CPU的优势提升软件系统性能的问题 -
软件复杂度越来越高, 维护成本也越来越高的问题 -
企业开发中不得不在快速开发和性能之间艰难抉择的问题
科普小知识:
-
1.静态语言:
-
1.1一般都需要通过编译器(compiler)将源代码翻译成机器码,之后才能执行。程序被编译之后无论是程序中的数据类型还是程序的结构都不可以被改变
-
1.2静态语言的性能和安全性都非常好, 例如C和C++、Go, 但是C和C++的缺点是开发速度慢, 维护成本高
-
2.动态语言
-
2.1一般不需要通过编译器将源代码翻译成机器码,在运行程序的时候才逐行翻译。程序在运行的过程中可以动态修改程序中的数据类型和程序的结构
-
2.2动态语言开发速度快,维护成本低,例如Ruby和Python, 但是Ruby和Python的性能和安全性又略低
-
Go语言专门针对多核CPU进行了优化, 能够充分使用硬件多核CPU的优势, 使得通过Go语言编写的软件系统性能能够得到很大提升
-
Go语言编写的程序,既可以媲美C或C++代码的运行速度, 也可以媲美Ruby或Python开发的效率
-
所以Go语言很好的解决了"现有主流编程语言"存在的问题, 被誉"现代化的编程语言"
Go语言优势
-
简单易学 -
Go语言的作者都有C的基因,Go自然而然也有了C的基因,但是Go的语法比C还简单, 并且几乎支持大多数你在其他语言见过的特性:封装、继承、多态、反射等 -
丰富的标准库 -
Go目前已经内置了大量的库,特别是网络库非常强大 -
前面说了作者是C的作者,所以Go里面也可以直接包含c代码,利用现有的丰富的C库 -
跨平台编译和部署 -
Go代码可直接编译成机器码,不依赖其他库,部署就是扔一个文件上去就完事了. 并且Go代码还可以做到跨平台编译(例如: window系统编译linux的应用) -
内置强大的工具 -
Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难 -
性能优势: Go 极其地快。其性能与 C 或 C++相似。在我们的使用中,Go 一般比 Python 要快 30 倍左右 -
语言层面支持并发,这个就是Go最大的特色,天生的支持并发,可以充分的利用多核,很容易的使用并发 -
内置runtime,支持垃圾回收 -
... ...
Go语言的吉祥物是地鼠
地鼠的特点是速度快、成群结队、头脑简单
而Go语言的特点正好也是编程速度快、并发性好、简单易学
最后,分享不易,喜欢大叔的文章,记得分享、点赞、在看、三连支持!
文章来源于互联网:Go语言入门分享!