LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 链客Talk专访柏链道捷CTO高野:如何快速掌握Go语言

链客Talk专访柏链道捷CTO高野:如何快速掌握Go语言

2020-02-15 链客Talk 来源:火星财经

今天高野做客链客AMA,为大家带来如何快速掌握go语言开发技术,首先为大家介绍一下高野:

柏链道捷CTO、Go语言高级讲师;精通Golang等主流编程语言,拥有丰富的区块链智能合约开发经验

问题一、Go语言有哪些优势?

Go语言的优势非常多,从背景上说,出身名门,有名企推动。Go语言是Google 20%工作量的产品,主创团队有肯-汤普森这样的大佬存在,肯是unix系统的发明者,与C语言也有着千丝万缕的联系,另外Go语言的其他团队成员也是来自前贝尔实验室或Google的高级工程师。

从开发角度来说,Go语言优势体现在:语法简洁、开发效率高、运行效率高,带内存回收机制,统一的编码风格,编译和部署容易等等,一般情况下一门语言离底层越近,开发效率越低,Go语言打破了这个常规。它在编码风格上特点主要和C++有关,其实创作Go语言的初衷是肯-汤普森受不了C++那样繁琐的设计原则,因此他们才决定推出一款新的编程语言,继承其他优秀语言的一些优点,做到简洁而不简单。

问题二、Go语言可以做什么?

Go语言能做的事情非常多,它的主打方向肯定是一种后台或底层语言。区块链行业非常火爆的时期,它就有着区块链领域第一编程语言的称号,因此区块链方向也是Go语言的应用方向之一。

除了区块链,Go语言在web服务器方面有着巨大的市场,目前国内外已经有了多款web服务框架,比如国内astaxie写的beego,国外著名的gin等都是很知名的框架,很多公司的web服务器都是利用这些框架开发。此外,目前的云计算公司也都是以Go语言为主,国内的阿里云、腾讯云、百度云等都在招聘Go工程师。

从产品层面,大名鼎鼎的docker就是用Go语言来编写的,以太坊和超级账本这样的区块链平台也都是Go语言来编写的。

问题三、Go语言如何进阶?

Go语言的学习曲线非常平缓,它入门非常容易,上手极快。从学习过程来说,可以分为入门、进阶、精通三个阶段。

入门其实比较容易,如果有一点语言的开发经验,一般三天的时间足够入门了,如果没有开发经验,可能需要1周到10天的时间。这里说的入门是指掌握Go语言的语法,能够掌握循环、容器编程、面向对象编程、并发编程、网络服务器等知识点。

要想进阶的话,需要在某些方向做到精通,比如在Go语言的同步编程方面,设定了多种同步机制,这些机制都需要深刻的理解。还比如正则表达式的处理,与数据库方面的交互等等。此阶段最重要的还是能够完成一些项目,一般情况下可以借助web服务器框架能够开发一个web服务的项目,比如做一个微博,要做到精通的话,就需要有一定的自律性,需要去阅读一些经典的Go语言项目源码,比如看看web框架的代码,看看docker的代码,看看区块链的代码,这需要长时间的阅读和积累,需要给自己制定计划。

问题四、Go语言与区块链如何打通?

Go语言和区块链的关系肯定是非常密切的,很多区块链公司招聘也都需要Go语言的技能。基于Go语言去做区块链开发主要有2个层面的事情,其一是做DApp,其二是去做底层。

做DApp的话,要求区块链平台需要支持Go语言的sdk,目前大多数平台都支持,最好的还是以太坊,因为他们的源码就是用Go来写的。在这方面,主要要学的就是Go语言如何调用智能合约,其实调用智能合约方面,Go语言和其他语言类似。掌握了智能合约调用,用Go做后端服务开发,同时兼顾区块链服务,就可以实现DApp的后台逻辑了。

另外一个层面可以去区块链的底层,这需要有一定的源码阅读能力,因为目前大多数的区块链底层开发公司也都是在互相模仿和借鉴,一般要求是需要有一定的网络知识、算法设计能力、一定的密码学知识。不过,对密码学的要求没有那么强,比如我以前的学生之前就在区块链公司做共识算法的开发,他也没学过什么密码学知识。

—-

编译者/作者:链客Talk

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...