前端想转golang开发,需满足哪些技能√
前端想转golang开发,需满足哪些技能
前端转 go,其实一定程度上应该是前端转服务端。前端和服务端的技术栈是不一样的。
服务端的主要技术栈
服务端涉及到的技术会比较多,语言只是很小的一部分。一般包括:Web Server、协议(HTTP、TCP 等)、DB(如 MySQL 等)、缓存(如 Redis 等)、语言(如 PHP、Java、Go 等),这里面每一个都够你学好一阵子。这些还只是基础,还有一堆高并发架构的东西。
相较而言,前端更多的停留在语言本身,当然还有各种框架。
Go 本身而言
Go 是 C 系语言,JS 也是⚘ C 系的,所以,从这个角度来讲,前端学习 Go 成本挺低的,而且 Go 很简单,比 JS 要简单。
综上,转 Go 不是问题,关键是角色的转换,以及技术栈的转变,这个需要想清楚。
go程序设计语言
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。
Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。
go语言发展前景
go语言前景:
1.在云计算、微服务、基础后端软件上具有强大优势
2.得到诸多大厂的"青睐",很多部门由java转golang,新公✃司甚至直接使用golang
3.优秀开源项目不断涌现,以docker和k8s为代表
go语言优势:
1.兼顾C语言级别的编译、运行效率,容易部署,PHP级别的开发效率
2.强大的标准库,内置高效的垃圾回收机制
3.简单的并发编程,goroutine和channel极易上手
4.静态类型语言,拥有强大的编译检查、严格的编码规范
5.背景强大,由三位骨灰级大师创造,google公司运营维护
go语言的劣势:
1.没有异常处理,只有Error
2.依赖管理(已解决√) 1.11推出GoModules
3.缺少框架(已解决√)Gin、Beego、Echo…等等
4.无泛型(正在解决。。。)官博确认正在考虑泛型设计,最快在1.18测试版中加入
2019年Go语言还有前景吗
我的看法,Golang 是很有前景的语言。之所以敢说这句话,自然是有我的理由的。每个人的看法是不同的,但这很正常,重在说出你我的理由,讲出你我的道理。
那么,我是如何分析 Go 语言是否流行,以及将来的前景如何呢?
一方面是要看它的语言自己自身的硬件实力,另一面还有很多外在的条件起着很关键的因素。
语言硬实力
Go 语言与传统的 OO 语言不同,它是一门基于 C 的语言。
如果大家学过 C,就会知道 C 的语法非常简单,非常易于↕学习,正常科班出身的人,入门编程基本都是由 C 开始的,正常由于它的语法特性少,简单易学。
OO 编程发展这么多年,编程语言变得越来越复杂。Go 就简单了很多,它强调组合编程。基于接口编程是我比较喜欢它的一点。
并发编程的语言级支持是 Go 能流行起来的一个重要原因,它简化了并发程序的编写难度,强调面向通信的并发编程,而不是面向共享内存。一个 goroutine 是一个并发单元,非常易于使用。
当然,Go 的特性不止于这些,多的就不说了。这几点只是我感受比较多的。
其他方面
语言的硬实力是底层基础,但如果得到认可推广,没有优秀的项目产品,再牛逼的语言也是没用的。
Go 语言是由 google 工程师开发的,三位☁大牛就不介绍了,网上资料很多,可以自己去查,有很多人说他们是老古董,还照搬 C 的那一套,让编程语言的发展倒退了,我不知道有没有道理,但是我喜欢是这套理念是最真实的感受。
优秀项目丰富,最出名的是 Docker、kubernetes 等这些云原生相关项目。更多的还有数据库领域,区块链等就不列举了。
一门仅仅发展十年的语言,在一些领域(如云原生)的地位已经是其他语言无法撼动的。如果说 Go 没有前景,得想想这个领域是什么语言可以做的这么好。
常说 Go 在中国很流行,我是今年才开始学习 Go 的,因为我的功底还不错,在学习了Go 的一个月后,便开始在网上写文分享,其实主要是为了自己总结。渐渐地,让我发现一件事,Go 在中国的流行离不开一群热衷于 Go 的布道者,他们在不遗余力的传播自己的 Go 学习和使用经验。我是比较幸运的,加入到了他们之中。
入门学习
是否适合入门呢?没有一概而论,对于不同的人答案并不唯一吧。
对于没什么编程基础的人,我觉得 Go 语言适合你学习,来自于 C,同时又做了不少的优化改进。Go 要学习的语法知识很少,通常一本 Go 语言的书籍,页码通常不会超过 300 页,这和 Java、C++ 的动辄 800 页以上的书籍相对,很快就能学完了。
如果是已经学过其他 OO 语言,初期使用 Go 的话,你会觉得非常别扭,会觉得你想要的很多功能都没有,会产生诸如怎么实现继承、是否有静态方法之类的问题,指针和引用等一系列不习惯的问题。
对于那些经验丰富,有过多语言学习的开发人员,学习 Go 语言会有一种如释重负的感觉,发现以前把太多时间花费在了学习语言,而非真正的事情上。之前在研究爬虫框架的时候,对于了 colly 和 scrapy,你会发现两者的学习成本的差距。
上面的最后一❤点是我最真实的感受,我刚学 Go 语言半年,现在也算是一名 Go 语言布道者,基本每周都在坚持一篇与 Go 相关的文章。
原创文章,作者:Ame,如若转载,请注明出处:https://www.lbseo.cn/13055.html