加入收藏 | 设为首页 | 会员中心 | 我要投稿 潍坊站长网 (https://www.0536zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

我的Go语言初体验

发布时间:2021-04-20 17:19:21 所属栏目:外闻 来源:互联网
导读:说要学一样东西,首先要搞清楚它为什么会出现?解决了什么问题 ? 只要了解这些底层的根本问题,你才会有持续的动力深入学习,而不是盲目跟风和三分钟热度。 Go 语言是 google 在 2009年11月发布的项目,在编程语言里面算是非常年轻的小伙子。 至于 Go 语言的

说要学一样东西,首先要搞清楚它为什么会出现?解决了什么问题 ?

只要了解这些底层的根本问题,你才会有持续的动力深入学习,而不是盲目跟风和三分钟热度。

Go 语言是 google 在 2009年11月发布的项目,在编程语言里面算是非常年轻的小伙子。

至于 Go 语言的诞生和历史,大家可以看看这篇文章:三分钟了解 Go 语言的前世今生

我个人认为 Go 的诞生是有时代的必要性,因为它主要解决主要是解决了:

动态语言的性能和弱类型问题

静态语言的开发效率和复杂度,还有并发问题

我们都知道 Google 是世界上数据量最大的公司,Go 语言的轻量级线程设计,也帮助 Google 降低运算和并发计算的成本,这也是 Go 语言能诞生的一个重要目的。

在数据爆炸的今天,Go 语言重新平衡了开发效率和运行性能,所以 Go 会在未来十年,都是最重要的编程语言

关于 go 的定位,大家看下图可能会更清晰这门语言的时候,能感受到它的设计者是经过认真思考的,从不同语言迁移过来的开发者,可以从 Go 身上看到很多其他语言的影子,因为设计者借鉴了许多其他语言的设计,但是它也非常的克制,不是完全照搬,而且非常精准的把优秀并且使用的设计融入到 Go 当中,将很多不实用且复杂的设计直接剔除。

虽然 Go 出自名门,你从 Go 身上看不到什么学院派的影子,没有多余的设计,没有复杂的概念,处处可见的 简单,实用 的设计理念,因为它的创造者的理念是:

只有通过设计上的简单性,系统才能在增长的过程中保持稳定和自洽

Go 另外还有一个特点区别于其他语言的就是,Go 语言为了追求代码可读性,可能是第一个将代码风格在编译器层面做出强制要求的语言。例如:

  • 首字母大写代表 public,代表导出类型,外部可访问
  • 首字母小写代码 private,代表非导出类型,仅内部可访问
  • 还有对 {} 换行的限制,
  • 编译层面就不允许出现无用变量
  • 等等&……

Go 对于动态语言:

写过动态语言类似 Ruby,Python 的开发者,最头痛的应该就是类型问题,因为不确定类型,导致很多问题在编译期无法被发现,直接 runtime 的时候才能暴露出现,处理成本极高。Go 语言提供简单够用的类型系统,对于动态语言开发者不会有太大的手上成本,也帮助了动态语言的开发者解决大多数类型问题。

Go 对于静态语言:

Go 语言并没有去照搬 C++ 和 Java 那套超级复杂的类型系统,Go 放弃了大量的 OOP 特性,不支持继承和重载,对于 Java/C++ 等主流 OOP 编程语言,Go 可能也是一个彻头彻尾的异类,但是不要怀疑 Go 也是一门面向对象的编程语言,只是他在用自己理解方法,一种不同寻常的方式来解释面向对象,它的特征如下:

(编辑:潍坊站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读