{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

Go语言现在的前景怎么样?

TamicTamic 回答0 收藏1
收藏问题

10条回答

Shihira

Shihira

回答于2022-06-28 11:59

我学习了java和golang,java用了5年,无限感慨java的生态,工业级的语言,无数的解决方案,不管你是做互联网还是传统行业的开发用java开发总能解决一切很多的问题,国内巨头ucloud巴巴更是把java推向了极致,golang作为一个新声代语言,它的简便语法,空前极低上手难度,并且他的生态还是慢慢的开始完善,例如docker etcd kubernetes 国内的TiDB,Beego,甚至ucloud巴巴也推出了dubbo-go,国内今日头条,哔哩哔哩,滴滴等公司的技术栈也慢慢从java转到了golang并不是说java不好,只能说golang很简单,你开发一个web应用golang20行代码,java可能需要你会知道完整的技术栈例如spring boot技术栈,而golang甚至只需要你会httprouter,rpc框架的支持java比也是不逞多让,CICD领域go就完全吊打java了,毕竟docker和kubernetes都是golang写的,天生无缝支持,golang的并发模型也是领先java,gorouting天生为并发而生,所以现在学golang是一个不错的选择,但是golang也有它的缺点,项目管理,包依赖管理不如java,泛型等支持也不是很好,相比java的生态go国内的生态还有所欠缺,再说就业,java的就业比golang简单,因为缺口大,但是golang的就业薪资并不比java低,所以从语言的角度来说golang优越于java,生态上低于java,前景上理论上好于java,这需要看国内的大风向,所以建议学习一下

评论0 赞同0
  •  加载中...
fasss

fasss

回答于2022-06-28 11:59

作为一个有3年go语言开发经验的我说点啥吧

最开始接触go也是因为公司要求后台使用go语言开发,因此到网上寻找各种教程,发现go真的太简单了。

1.简单到没有太多关键字,没有什么语法糖,没有各种花里胡哨的写法。这样有一个非常好的特点就是,不同的人实现相同的功能,代码差别不会特别大。由于很多限制会使得不同的人的代码风格也差不多。

2.go语言属于编译型语言,不会像动态语言那样一些错误只会在执行时出现。go的一些错误在编译时就会提示。

3.go语言效率高,有协程的加持使得非常容易写出高并发的服务。

4.特别喜欢go语言的交叉编译功能,在window上可以编译出Linux的可执行程序。并且可执行程序没有依赖,直接复制一个文件就可以部署到其他运行环境,这一点我非常喜欢。

当然go也有很多不足的地方

1.包管理不太友好,虽然新版本也在积极解决这个问题。

2.异常处理和C一样简单,导致到处都是err != nil这种代码

3.还有就是框架少了些,很多东西都要自己去实现,不过这也让我学到了很多底层知识。

Go适合用来做什么

1.服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等

2.网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用

前景

1.首先这是Google大佬搞的,背靠大山,以后肯定前途无量

2.国内很多公司也在使用go语言,不香肯定不会用嘛

3.其实最终要的时编程思想,而不是语言本身

评论0 赞同0
  •  加载中...
pepperwang

pepperwang

回答于2022-06-28 11:59

Go语言近两年的发展速度还是非常快的,一方面Go语言有强大的行业背书,另一方面Go语言在设计时充分考虑了当前的编程环境,加强了大数据量、高并发等应用场景的处理能力,强调编程语言自身对于处理性能的追求,相信Go语言在未来大数据和人工智能相关技术逐渐落地应用的背景下,会有一个较为广阔的发展空间。

相对于Java和Python语言来说,Go语言目前在生态体系上还有很多事情要做,而且这个过程可能需要经历较长一段时间,但是在云计算时代,技术的迭代方式将更加方便,技术体系的迁移成本也将更低,所以Go语言的普及速度也许将会大大超出市场的预期(包括程序员预期),从目前Go语言的快速发展趋势来看,就已经说明了一定的问题。

Go语言的应用前景在很大程度上取决于大数据落地应用的进程,因为从语言自身的设计上来看,Go语言一方面为大数据程序员在面对大数据问题时提供了新的选择,另一方面Go语言也开辟了行业应用的入口(需要平台接入),大量行业应用也可以通过Go语言来实现。

基于Go语言的“资源接口”的编程方式,结合云计算平台(PaaS)提供的服务,Go语言未来将在很大程度上降低大数据领域的开发成本,这能够让大量的小、微型开发团队进入到大数据开发领域,这也在一定程度上拓展了Go语言的应用场景。从另一个角度来看,Go语言也降低了大数据行业创新的门槛。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!

评论0 赞同0
  •  加载中...
MageekChiu

MageekChiu

回答于2022-06-28 11:59

7年PHP,2年go、PHP混合开发,如果有的选 一定会用go,不仅仅是简单,更是因为这个语言的完整的工程项目能力是其他语言根本无法达到的,不需要学习编译知识,不需要了解太深的底层,大佬都帮大家实现好了,代码debug、跟踪调试、性能分析优化,智能的go mod 包管理,只关心自身业务代码即可,其他根本不用考虑

评论0 赞同0
  •  加载中...
Tony_Zby

Tony_Zby

回答于2022-06-28 11:59

本文试着回答:Golang真的是编程的未来吗?


引言

Go是富有成效的。但它并不能代表进步的方向,而且我也不相信它能代表其他新编程语言的发展方向。


不能代表一切

Go不是未来。也不是什么新鲜玩意儿:

  • 内置垃圾收集的c语言?

  • 那么,使用一种具有垃圾收集功能的快速系统语言如何呢?Erlang在80年代就是这么做的。

  • 原生支持并发呢?又是Erlang。Erlang的模型还支持开箱即用的分布式计算。

大家看到了吧,Go清除了C语法中的一些瑕疵,用起来非常的爽快。


深入

C语言的用户群普遍认为,垃圾收集是快速而有效。对于Go语言,特别是谷歌给与的支持,给了这一点额外的可信度。

它提供了一个内置的并发模型,这会引入更多的开发人员社区来处理并发。

Rob Pike在语言上设置了一些限制,使得Go很难使用。


写在最后

这不是未来。

谷歌正在把原本保守的企业创新的底线,从遥远的过去拉到当前,让我们都从中受益。

Happy coding :-)


我是@程序员小助手,持续分享编程知识,欢迎关注。

评论0 赞同0
  •  加载中...
VincentFF

VincentFF

回答于2022-06-28 11:59

Go语言特点

golang语言是2009年由google开发并发布的一门新的语言,截止到目前已经有12周年的时间。golang语言又简称go语言,因为其采用协程方式,天生支持并发,并且具有语法简洁,维护成本低的特点,非常适合服务器开发和分布式系统的开发。

主要应用

当前,越来越多的公司和企业采用go语言进行开发,比如七牛云云平台整体采用Go语言进行开发,今日头条采用Go语言构建微服务消息系统;除此之外,很多开源的软件和应用采用go语言进行开发,比如当前大火的容器化软件Docker,和服务管理K8S,都是采用go语言进行开发

前景

目前的趋势是上升的状态,以及可预见的未来,golang会一直跻身于主流语言之列。

评论0 赞同0
  •  加载中...
huaixiaoz

huaixiaoz

回答于2022-06-28 11:59

看一个语言潜力要看以下几个方面:

1,开发团队,这点go语言创始团队Google背景,c语言之父撑腰,论财力,论背景,论后续维护程度都当之无愧为top5。

2,社区影响力,go的社区影响在分布式领域当之无愧为top3,docker,k8s周边技术栈都是go技术栈!

3,语言易用性,go目前为止有仅次于Python的易用性和超过Python十倍的性能。

评论0 赞同0
  •  加载中...
Yangyang

Yangyang

回答于2022-06-28 11:59

作为golang 的骨灰级粉丝我必须说一说我的看法。

Golang 发布于2009,时至今日也已经发展了13年了,虽说不是爆火,但是也是一个非常流行的编程语言。至于前景如何,我不在意,我还会依然习惯它,它有太多让人难以割舍的语言特性,真的是太爱了。

  1. 超级简单的语法,简单到纯粹。不说其他的,就删掉了while 这个关键字就可见一斑。当前来看,几乎找不到一种语言能简单至此。我个人在转到golang 之前最喜欢的是c,就是喜欢c的简单,高效。但是话又说回来,c 太低层,编码效率低,手动管理内存总是容易出错,标准库中可用的api 又不是很丰富,而 golang 完美的解决以上所有问题。怎么能不爱他呢?
  2. 再者,个人主要从事网络相关的开发工作,golang 就是为此而生的。再加上 goroutine 的加持,难道对我能毫无诱惑?
  3. 开源社区不要太给力啊,你想要的功能,几乎都有大神已经实现了,你可以选择直接使用,或者学习优秀的代码,以为己用。这是c,c++ 所无法比拟的。
  4. 性能好。个人不太喜欢Java,c#,这些语言却是很火,也很好,但是个人不太喜欢。与主要的点是对内存的毫无顾忌的使用,写出来的程序通常比较吃内存。c#跨平台也是一个大问题。而golang 就没有这些问题。

当然,golang 也有一些不好的地方:

  1. 错误处理比较硬。返回错误和panic的设计,个人真的get不到它的点。编写错误处理的代码非常繁琐。当然,这里并不是说想让golang 支持异常,我不喜欢异常。
  2. 最新版本支持了泛型……泛型写出来的代码真的是难读啊!而且感觉写出来的代码没有原先整洁了。
  3. 没办法像c,c++那样引用三方代码编译的库。往往需要各种绕。
  4. 最最最让人难过的是Goroot和gopath的设计,简直无力吐槽!

说说你的看法呗,欢迎交流!

评论0 赞同0
  •  加载中...
xingqiba

xingqiba

回答于2022-06-28 11:59

谢邀^_^

本人目前一直在从事 Go 语言开发,从我掌握的信息来看,在北上广等一线城市来说需求量还是很大的。如果是从 C 或 C++ 转 Go 还是比较轻松的,本身 Go 语言语法等就不难,上手容易。从工资方面来看,也还是比较客观的,这里我就不详细说工资了,大家在招聘网站上都可以查到。

其次从形势上来看,Go 一直都是呈上升趋势(需求量等方面),如果你是在一线城市,不用担心工作问题。

不好的方面是在二三线城市还没有那么高的需求量。所以如果说想选择是否从事 Go 开发,也要看自己所处的环境,但是不排除以后在二三线普及之后,以前从事 Go 的人就更加抢手了。

另外大家如果对这门语言感兴趣,也可以学习一下,如果觉得自己不喜欢这门语言当然就可以不从事了,个人兴趣还是很重要的。我的建议还是可以去接触,技多不压身。

评论0 赞同0
  •  加载中...
JackJiang

JackJiang

回答于2022-06-28 11:59

我觉得有点变数。

首先GO可能无法真正意义上取代java。但是有可能抢占一块天地。

首先,GO在语法上,不太适合复杂的业务系统的。因为在语法上,go把太多的语法糖加入了语系,带来的好处是性能提升。坏处就是不适合工业级别的语言。

比如说gorountine。本质上来说,就是一种语法糖。java的netty的实现思路其实是和他一致的。这东西放到语法层面实现带来的优势就是性能的提升。但是放在工业里面,说白了就是给了一群猴子用机关枪的机会,会造成多大危害,懂的人自然懂。

但是,现在的架构都在向微服务架构在转变。包括serverless慢慢的兴起,刚才提到的问题,反而就不是主要矛盾。

特别是serverless。这东西本来逻辑就不可能太复杂。而且按照运行时间收费。快一点,自然更受亲密。

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<