现在想再学习一门编程语言,应该选择go还是python?

  • 华为云开发者联盟
  • 2024-01-24
  • 19
  • 共11人发表观点
网友「华为云开发者联盟 」发表观点
2024-02-02

对于应该选择go还是python,相信很多答主已经分析的相当透彻了,接下来上一份go语言入门到进阶的学习路线及资料。

这几年大火的Go语言该如何学习呢?这篇文章带你学习了解Go语言基础语法,Go语言web实战以及微服务和区块链方面的开发知识。

1. Go语言入门

1.1 简介

Go语言语法简单,保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发速度和易维护性,有人形容Go语言:Go = C + Python, 说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。Go语言之所以被称为21世纪的C语言,不仅在于它精简的语法和高效的开发,更在于它具有原生支持和易于使用的高并发的特性。

与C语言相同的是Go语言也有指针,能直接操作内存。这也就意味着Go的运行速度是很快的。另外Go语言也能原生支持C语言,CGO模块也大受好评。

附上Go语言基础知识点思维导图

将线程再分成更细的协程,使得中间等待时候更少,大大提高效率!

《Go语言编程设计》

2. Go进阶应用

2.1 Web 开发

2.1.1 简介

在我们学习Go语言的基础语法之后,我们可以做一个web网站。那我们用go语言的GIN框架来举例,Gin是一款轻量级的WEB框架。

特点:

封装优雅,降低入门门槛。API友好,支持许多出色的中间件。源码注释明确,降低阅读门槛快速灵活,容错方便。

功能概要:

RESTful 路由数据绑定jwt,cors等中间件的使用会话控制…

附上思维导图:

2.1.2 学习资料及网站

Go中文社区:

GIN:

源码:https://github.com/gin-gonic/gin中文文档:https://www.kancloud.cn/shuangdeyu/gin_book/949412Gin框架知识点总结:https://blog.csdn.net/weixin_45304503/article/details/120381359

GORM:

源码:https://github.com/go-gorm/gorm中文文档:https://learnku.com/docs/gorm/v2Gorm框架知识点总结:https://blog.csdn.net/weixin_45304503/article/details/119986588

一些基于Gin+Gorm的应用:

Gin+Gorm 电子商场:https://github.com/congz666/cmall-goGin+Gorm 视频弹幕网站:https://github.com/CocaineCong/BiliBiliGin+WebSocket 聊天室:https://github.com/hezhizheng/go-gin-chatGin+Vue+Admin 后台管理系统:https://github.com/flipped-aurora/gin-vue-admin

推荐书籍:

《Go Web编程》

《Go微服务实战》

Docker的核心架构

我们通常会编写Dockerfile对镜像进行build,然后在容器中跑。

2.3.2 学习资料及网站

Docker:

官网:https://www.docker.com/中文文档:https://www.kancloud.cn/jingyucloud/docker/216412

推荐书籍:

《深入浅出Docker》

2.4 BlockChain 区块链

2.4.1 简介

区块链是一个颠覆旧模式的新技术,是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。最近的元宇宙大火,也带动了区块链的热度。

区块链应用最为著名的应用就是比特币,以太坊和超级账本。其中的以太坊和超级账本这两个区块链应用都基于Go语言。

特点:

透明可信防篡改可追溯隐私安全保障系统高可靠性

2.4.2 学习资料及网站

区块链这方面的学习资料相对比较少,建议多看书,多研究以下超级账本的源码。因为实际开发应用中,超级账本fabric是用的最多的。

以太坊:

Go语言调用以太坊:https://blog.csdn.net/weixin_45304503/article/details/119430280Go语言调用智能合约:https://blog.csdn.net/weixin_45304503/article/details/119466277

超级账本Fabric:

源码:https://github.com/hyperledger/fabric

官方文档:https://hyperledger-fabric.readthedocs.io/en/latest/

区块链推荐书籍:

《区块链技术及应用》

3. 总结

Go语言未来可期,Go语言的乐趣不止于此,我们一起加油吧!

本文分享自华为云社区《Golang从入门到进阶》,作者:小生凡一。

网友「你看我独角兽吗 」发表观点
2024-01-29

谢邀。首先,不要限制住你的思维。现在想学习一门编程语言,不一定是go或是Python,而是根据你想要做什么、具体是什么而定,这取决于你的目标,真的。

如果您想进行Web编程,请学习Javascript,因为它允许您对前端和后端进行编码(通过Node.js)。

但是,如果您对代码和算法的结构感兴趣,并且编写它们的方式与编写lambda演算时的方式非常相似,并且有兴趣学习将代码作为数据和数据处理为代码,那么请学习Lisp。有趣的是,Lisp很容易在非常快的速度上变得疯狂。 Lisp是非常高级的,所以掌握这种语言我认为给你最好的机会,能够很快写出很多有用的东西(我建议使用常见的Lisp方言来实用)。

如果您有兴趣在跨平台遗留系统和大型企业环境中工作,并且学习一种在企业软件开发中根深蒂固的语言,至少在接下来的20年内它可能不会消失,那么学习Java。

正如您所看到的,您应该学习的1种语言取决于您想要做什么。

这并没有一个正确的答案,永远都不要限制住自己的思维,希望我的问题对您有一定帮助。

我会在这里发布所有与科技、科学有关的有趣文章,欢迎订阅我的头条号。偶尔也回答有趣的问题,有问题可随时在评论区回复和讨论。

(码字不易,若文章对你帮助可点赞支持~)

网友「Go语言中文网 」发表观点
2024-02-01

再学一门编程语言,选 Go 还是 Python ?这个问题需要从几个角度考虑!

二、学习另外一门语言想用来干什么

学习任何东西,我们还是希望有实际用处。学习编程语言也是如此,而且如果学习了不用,很容易就会忘记,使用是很好的掌握技能的方式。

如果想要在科学计算、AI 等领域使用,建议学习 Python,虽然 Go 在 AI 方面也有一些库,有人在使用,但相比而言,Python 是最成熟、最火热的。从每月的编程语言排行榜可以看出,AI 的兴起,对 Python 还是有很大的助推作用。

如果想用于 Web API、微服务、云计算、中间件等领域,推荐学习 Go 语言。Go 语言号称是云计算时代的语言,在这方面确实有它的优势。很多大厂,比如今日头条、滴滴、知乎等都在大规模使用 Go 语言。

总结

综上,如果你现在使用的是 PHP 这样的动态语言,且继续从事相同的行业,Go 绝对是值得学习的语言,而且,我建议一定学习下 Go;如果想从事 AI 方面,可以学习 Python,或者现在使用的是静态语言,可以尝试下 Python 这种动态语言。

网友「千锋教育 」发表观点
2024-01-24

编程语言,其实都是触类旁通的,只要你精通一门,不管是面向过程,还是面向对象,不管是静态语言还是动态语言,其实精髓和核心思想都大同小异。

Java、Ruby,Python,Go,PHP。。等等吧,只要真的学会一门,其他学起来都不是难事。

关键是你的问题是你们公司要求转Go,如果不转,就意味着你可能要失业,这个你要考虑好。

在我看来,我个人是比较喜欢公司要求的,相当于带薪学习,这可不是每家公司都能做到的,在我看来都相当于员工福利了。。

而Go和Python,都是一门编程语言而已,关键是看他们的生态圈,如果公司让你们转,证明你们公司有这方面的业务,那你就放心大胆的去学Go,而且还能快速的学以致用。

而python,既然是你的兴趣所在,你业余时间学学也不是不行啊。。

网友「ChiongCrowning 」发表观点
2024-02-03

而go语言现在的势头也是不言而喻,主要源于:

高并发具有天然的优势,还有通道

运行效率要比python快不少,甚至可以比肩c++了

编译效率是很高效的

当然go的高品质的库也很多

两种编程语言各有各的侧重,主要还要看题主以后的应用场景。如果有时间,两种语言建议都学,可以先python再go。个人建议,仅供参考。

欢迎大家留言交流。

网友「偶尔来逛逛随便来瞧瞧 」发表观点
2024-01-28

首先要知道Python为什么火,作为一个比 java都老的语言,最近焕发出第二春,它的优势在于简单,易用,万能,听起来除了万能,其他怎么跟php这么像?其实还真是。在我来看任何一门语言,要做到简单,易学,应用场景广,性能好,安全高,健壮于一身基本都是扯淡。哎呀,懒得长篇大论了,也不想引起口水战,直接说结果,就目前语言发展,go的优势太过明显,阵容也超级强大连nodejs发明人也转战go了,所以答案也是明显的,未来的应用都是基于网络,网络性能好的语言才是发展方向

网友「极客干货 」发表观点
2024-02-01

首先人要理智,个人觉得对于架构师和高级工程师们,把Python和Go作为小工具语言或者中间件语言是最适合不过的。

对于刚入行或者要入行的朋友要注意了,只学Python或者Go的话,工作是相对不好找,市场需求量目前并不大,它两各自的可用库比较少,尤其是Go。

我客观的说一下:Go的优点并没有外界吹嘘的那么NB,经常被培训机构和初学者以点盖面,实施是它的缺点缺陷还是比较多的,有很多人认为Go 比 Python 要快而且说快30 倍,这是不负责任的,Python其实并不慢,反而有很多地方比Go快,一方面呢,大多数开发者自身编码能力的问题,另一方面Python的绝大多数库是C/C++写的,Python能慢到那么离谱是不可能的,反而多数情况下比Go稳健且快。Go有它优势但是它的火热多数是被培训机构吵起来的,跟国内高房价类似被炒房客抬高的。

总结一下,对于产品或者项目来说,技术的选型往往是变化的综合的,选择适合项目或者需求的开发语言和技术才是最重要的,比如一个淘宝等电商项目使用了Java,C/C++ ,PHP,Python ,Go等等把不同的语言综合起来把它们擅长的地方用在恰当的地方。

网友「槡槡槡 」发表观点
2024-01-29

毫无疑问,Python!虽然楼主的提问语焉不详,但从标题可以看出,1)楼主已经掌握或者正在学习一种编程语言,2)楼主没有接触过Python,3)水平可能不太高,在校学生或者业余学习者。Python是简单易学的全栈语言,非常适合做入门或者第二语言。除非你是入行N年的大牛,你学啥都行,但你也不会提出这种问题了。我觉得,任何层次的人都应该接触一下Python。退一万步说,大不了学个把月放弃。如果楼主是想靠编程吃饭,建议学java之类,我觉得Python的就业可能会供大于求。

Go,Kotlin之类的新潮的语言,建议精通了其它之后再学,你这边刚学会易语言Vb就去学Go,很有可能一辈子都不会在工作中用到它。再说,万一过两年像Ruby一样不流行了,白学了。就算过两年火了,在学也不迟。

网友「深空智能 」发表观点
2024-02-03

首先,编程语言只是工具,学哪个好要取决于个人的职业发展规划和兴趣,没有一定之规。

Go和Python其实是两个差异蛮大的语言,其适用的场景也大不相同。

GoLang

首先说Go语言(https://golang.org/),它是由Google开发的静态强类型的编程语言,类似C语言,最大特性就是它的并行设计,称之为Goroutine。这种机制非常适合一些网络服务程序,所以现在有很多网络服务的后端服务代码都是由Go构建的。开发便捷、性能强劲,尤其是对于一些高并发的场景更加适合。

Python

而且,现在热门的机器学习、人工智能等领域,都广泛的使用着python。如果题主未来想要从事数据科学相关的行业,或者想做点有趣的小玩意的话(比如爬虫、小工具等等)。python都是一个非常好的选择,而且python简单易学,很快就能上手。

网友「程序缘来啦 」发表观点
2024-01-26

选择Go还是Python取决于你的学习目的和应用场景。

如果你想学习一门高效、并发、适合构建网络和分布式应用的编程语言,那么Go是一个不错的选择。Go语言被设计为一门轻量级、高并发和内存安全的语言,适合处理高并发、分布式和网络编程等任务。Go语言的语法简洁易读,同时提供了强大的标准库和工具链,使得开发者可以快速构建高性能的应用程序。

如果你想学习一门易学易用、适合数据分析和人工智能等领域的编程语言,那么Python是一个很好的选择。Python是一门解释型、动态类型和面向对象的语言,具有简单易学、开发效率高和生态系统完善等优势。Python在数据科学、机器学习、人工智能、Web开发等领域有广泛的应用。

因此,你可以根据自己的学习目的和应用场景选择学习Go还是Python。如果你想学习两门语言,也可以先学习其中一门,再逐步学习另一门。

网友「码农视界 」发表观点
2024-02-02

不管是go还是python,或者其他语言,都只是一门编程语言而已,虽然你未来想做什么领域,人工智能也好,云计算也好,微服务也好。。。其实理论来讲,每门语言都行,但实际上每门语言因为产生的历史背景不同,语言特性不同,都有各自的优缺点,就会导致某门语言,在某个领域,比较流行。。

比如提起人工智能,很多人就说提到python,这就让很多不太了解内因的人,很容易混淆这两个词,会误以为,python就是做人工智能的,人工智能就是python。。但实际上,python是一门脚本语言,一般学Python可以往很多方便发展:

1,比如可以做web应用开发

2,网络爬虫

3.AI 人工智能 与机器学习

4,数据分析等等。

所以,只是python语言相对来讲,比较适合研究人工智能,但是人工智能包含的方面很多,要求也和难搞,不是说只学会了python就会了了人工智能。。

而Go语言,是一门新生代语言,主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于很多程序员一起开发大型软件,并且开发周期长,支持云计算的网络服务。Go语言能够让程序员快速开发,并且在软件不断的增长过程中,它能让程序员更容易地进行维护和修改。它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。

Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。

说到底,python也能做大数据,Go语言也能做人脸识别,所以哪门语言不重要,而且都是触类旁通的,如果你有编程基础,推荐Go语言,如果你是零基础的小白,也推荐Go语言,因为学习曲线低,比Python好入门。。

网友评论(0)

暂无网友评论