想必每个人在学习新事物之前,都会扪心自问:“我为什么要学习它呢?”

正如我们读四大名著一般,也只有在您读过了四大名著后,再细看中国几千年历史不就是天下大势合久必分,分久必合,再者,便是与友数人相聚,席间您述说您通勤时所遇到有意思的事了,而您套用了说时迟,那时快,乍然间,友人们无不张口结舌,双目紧盯着您,不错过任何细节,让您把这趣事讲完。

好吧,也有人不屑地说道:“四大名著我没怎么看过,难不成这跟我为什么要学习 Golang 有关系嘛?”

当然没关系咯,我也没看全四大名著,唯独就是红楼梦只看了前五回,其余诸如三国演义水浒传西游记

其实熟读四大名著对个人有利无害的,而我为什么要学习golang,也是一样的道理。

本应该在准备学习Golang,就要阐述自己为什么要学习它呢?难不成只是为了对秋码记录(qiucode.cn)进行重构吗?不竟然是这样的,虽然我边学习 golang 边写下记录,按篇数有 34 篇,正是:“满纸荒唐言,都言作者痴。一把辛酸泪,谁解其中味。”.

而那 34 篇是涵盖 golang 的基础语法,虽然 golang 版本使用的是 1.19,但却没能在那 三十来篇里讲述早在 golang 1.18 就出现的新功能 泛型

我之所以要学习 golang,不仅仅是为了重构秋码记录(qiucode.cn),若是那样的话,又何必去学习新的编程语言呢?

促使我去学习 golang ,是因为它是 区块链主要语言,请注意这里的措辞,中国人对文字的描述是慎之又慎。

除了区块链将 golang 列入为主要开发语言,那是有原因的,其不还不是因为 golang 天生支持并发等众多特性。还有我们熟悉的虚拟化容器dockerk8s都是使用 golang 开发的。

以太坊客户端也是使用 golang,虽然其他语言的客户端也是有的。

而国内的区块链也大多是 golang 为主导的,虽然国内的都是联盟连

区块链按其数据开放程度可以分为:公(有)链联盟连私(有)链

公链 : 是对外开放数据程度最高的一类区块链。任何人、组织/机构都可参与进来,且链上的所有数据记录公开、透明,任何人都能与之共识过程,不受任何机构控制,是完成去中心化的区块链。杰出代表便是比特币以太坊了。

联盟连 :由多个互相信任的组织共同参与,彼此间具有良好的合作关系。联盟链的开放程度介于公链和私链之间,写入、修改权限仍掌握在多个互信组织手中,被视为是部分去中心化的区块链。这个联盟可以是国与国,也可以是企业与企业、银行与银行之间合作的某种联盟。联盟链的参与方彼此信任程度高,验证效率快,交易成本较公链大大下降,同时数据的部分隐私又能得到很好的保护。联盟链上的信息与资源,只有该联盟的成员才可以共享,比较知名的联盟链如R3区块链联盟超级账本

私链 :又被称为内部链,它的开放程度很低,数据的写入、修改权限仅在少数人/组织手中,属于私有机构单中心网络。目前很多大型的公司集团都在开发自己的私链,它可以用于企业管理、财务审计,银行清结算等。

不管是公链还是私链,亦或是联盟连,golang都是区块链的主要开发语言。

通过上述讲解,知道golang可以应用在web后端服务区块链云计算等领域。

虽然先前有人说golang中有这有那的不足,没有类、缺少泛型。而泛型的功能,golang也在1.18加入了,至于类吗,可以使用结构体代替吗!

每种语言都有优缺点,不能拿另一个语言中有的功能,来质疑golang怎么没有呢,吐槽golang最厉害莫过于说它没有异常处理,这不就是那其他语言来比较吗!