{eval=Array;=+count(Array);}
go(又称golang)是google的三位大牛罗伯特·格瑞史莫(Robert Griesemer), 罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)在2009年推出的编程语言,它是一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,很方便的支持协程,支持大并发。在后端开发,微服务,云计算方面应用比较广泛,目前国内很多一线互联网公司的服务都是用golang搭建,学好golang是很前途的。
我认为学好golang有如下三步骤:
1)go语言程序设计(艾伦A. A. 多诺万著),golang语言基础,是入门首选
2)go语言圣经(Kernighan著),golang语言的权威著作,进阶首选
3)golang的官方文档(https://golang.org/pkg/)
4)golang大牛的演讲和blog()
1)开始学习时,要边看书变学习,将书中的例子一定自己动手写一遍,运行调试一下。
2)边做项目边学习是成长最快的方法,一定要参与golang项目的开发,你的工作一定要是golang开发。
阅读优秀开源项目提升自己的技术水平和开阔一些视野
1)beego (https://github.com/astaxie/beego)
国产开源的高性能Web框架,让你快速的开发Go Web应用服务,谢大主笔
2)codis (https://github.com/CodisLabs/codis)
Codis是一个分布式Redis解决方案,其实就是一个数据库代理,让你在使用Redis集群的时候,就像使用单机版的Redis是一样的,对开发者透明。
3)docker (https://github.com/docker/docker)
无人不知的虚拟华平台,开源的应用容器引擎,借助该引擎,开发者可以打包他们的应用,移植到任何平台上。
4)kubernetes (https://github.com/kubernetes/kubernetes)
Google出品,用于调度和管理Docker的开源容器管理系统,利用他,可以方便的管理你的docker实例,哪怕非常多,也是目前最流行的docker管理系统。
5)golang (https://github.com/golang/go)
golang是开源的编程语言,可以阅读golang的源码提升自己
经常总结,让经验沉淀下来,有条件可以写博客,也经常看看别人的技术博客
以下是我为星球『Go项目实战』用户整理的新手如何学习Go语言的资源,分享给你。
学习任何东西,基础都很重要。基础就好比建筑的地基,只有地基牢固了,才能建成高楼大厦。
学习编程语言亦是如此。很多人喜欢一上来就学习各种框架,其实那些框架对你来说都是工具,你自己的基础好,懂得了它们的原理,自己也有能力创造更优秀的框架。
Go语言这几年发展的确实不错,虽然没有实现赶超C++的目标,但是已经很接近了。而这些年也出现了一些Go语言的有名的项目,比如 kubernetes、Docker、Etcd、Tidb等项目。
我这里整理了一份关于Go语言的学习路线,也可以辅助你做判断。
Go语言是一门全新的静态类型开发语言,具有自动垃圾回收、丰富的内置类型、函数多返回值、错误处理、匿名函数、并发编程、反射、defer等关键特征。从语言层面来说天然支持并发,可以充分利用CPU多核,并且非常适合用来进行服务器编程、网络编程和分布式编程等。
在云计算领域,用Go语言编写的云基础项目如Docker、Kubernetes都取得了巨大的成功,别外还有知名的项目如Etcd、consul、flannel等,也都是使用Go语言实现的。
为你提供几张学习Go语言的线路图,从基础到进阶、Web编程、微服务的学习,你可以参考一下。
基础学习
书籍推荐
《Head First Go语言程序设计》、《Go语言学习笔记》、《Go语言趣学指南》、《Go语言编程》
当然,不必所有的书都读,找其中一本学习即可。
在线学习Go语言资料
初级练手项目
Go语言进阶
书籍推荐
《Go程序设计语言》、《Go专家编程》、《Go语言高级编程》、《Go并发编程》
在线学习Go语言资料
1.《Go 语言设计与实现》: https://draveness.me/golang。
2.《Go 语言高级编程》: https://chai2010.cn/advanced-go-programming-book。
进阶练手项目
Go Web编程
书籍推荐
《Go Web编程》
在线学习资料
可以学习下 web 框架 Gin、beego:两个框架都比较的流行,选择其中一个其实就可以了,推荐 Gin。官方文档都有中文,照着 demo 敲一下,了解下怎么处理 HTTP 请求的。
其次还需要掌握一下比较流行的 ORM 框架 Gorm,有官方中文文档,照着 demo 敲一下基本上两天就能掌握了,后面遇到不会的再来查。
Web框架相关的,基本上看官方文档就可以了,就不用再去找专门介绍的书籍,没有比官方文章更正宗的资料了。
除框架之外,你还需要学会的是包括但不限于:
Go Web项目推荐
Go 微服务
目前 Go 在微服务中的应用也比较广泛,但说实话,微服务是一个太庞大的话题,你不可能把每一个核心的问题都能够搞清楚,而且也没条件,或许只能在公司的具体的微服务生产环境中,才能够对相关的概念有更加深刻的体会。
推荐一本微服务概述的基础书籍《微服务设计》、《微服务架构设计模式》,可以帮助你理解微服务的建模、集成、测试、部署和监控的一些基础知识。
其次,你可以看一下《Go微服务实战》这本书,看后半部分即可,里面其实介绍的还是关于微服务方面的知识。
推荐 Go 语言的微服务框架 GoKit、GoMicro、go-zero、kratos,可以随便选择一个,理解其基本的用法、设计等等。其中 go-zero 和 kratos 是国内开源的,因此都有比较详细的中文文档。
在线学习的资料:
https://ewanvalentine.io/microservices-in-golang-part-1
手把手实现一个简单的 Go 微服务项目,你可以通过这个项目来学习微服务的相关知识,并且有中文版。
Go语言原理研究
如果你对Go语言底层原理感兴趣的话,可以看下这本书《Go语言底层原理剖析》。
开源项目学习
在项目开发过程中,也会用到各种开源项目。一开始没必要直接钻研源码,先要学习开源项目背景,能解决什么问题,开源作者的项目理念,使用了哪些技术等等。
这些清楚以后,可以找自己感兴趣的技术点或者模块去针对性的学习,千万不要想着一开始就想一网打尽式的学习,没有针对性意味着没有重点,没有重点很大概率就会白学或者学到的就会很少。
先推荐几个经典的开源项目供你参考:
如果你有自己比较看好的开源项目会更好,兴趣永远是前进的第一步。
相对前几年,Go语言的书籍、教程,各种文章都如雨后春笋一般越来越多,学习起来也更加方便,但是同时也要注意不要过度陷入知识碎片而无法自拔,最重要的还是要去系统去学习一下,针对性的练习、实践和应用。
实践出真知,通过gobyexample这样的文档一步步去学习,基本上敲一遍能够入门了。然后接下来就是自己做一个小项目,可以从自己最拿手的领域做起,多看多写,时间沉淀久了自然就会了。
golang越来越有优势,有什么学习路线没有?
golang学习比较简单,不过任何一门语言都不是孤立存在的,在这里简要说明一下golang开发的学习路线
1.golang基础,包括go语言安装,go语言语法,流程控制语句,函数,方法,面向对象概念,网络编程,并发编程等
2.golang开发框架,包括beego,gin,Iris,Echo等
3.微服务开发
4.深入的话还可以学习算法部分。如果要接触区块链相关技术的话,还需要学习区块链的加密算法等相关知识
5.如果要结合go实现应用的话,肯定离不开各种数据库,比如关系型数据库oracle、mysql,或者各类非关系型数据库等等
6.如果需要开发界面的话,还需要学习网页编程如html,javascript,vue,elementUI,bootstrap等网页开发技术和框架。
7.在以上学习的基础上还可以向架构方面深入学习。
链乔教育在线祝您学有所成。
非常好的问题。首先我是有三年go语言开发经验的了。回答你这个问题之前,首先要理解如何学习go,是你要达到什么样的级别。就是目标,比如你要达到大师级别。或者你需要用go做什么开发工作?一定要先搞清楚需求,举个例子
1 我要如何学习go才能做web开发
2用go做ai 或者图像处理
3开发以太坊区块链
就web开发而言的话就不同领域需要画一个脑图,就是路线图,把达到目标之前的各个知识点列出来,比如基础go知识,变量,常量,slice. map struct channel go routine 并发等等 还有相关领域的开发工具,的脑图,比如goland vs code 还要需要的linux 命令行, dockers 等等相关路线图 还有gin 框架
但是如果要学图像 ai 区块链还要学习相关基础和框架,比如tensorflow 智能合约 opencv 如果只要学习基础请关注我的头条14天学会go语言,最重要的是要多练!谢谢
对于初学一门语言的同学,一般会推荐一本经典入门书籍。按照惯例go语言我推荐《go语言圣经》。
书只是一方面。在学习习惯上,本人还是习惯带着问题去学习。何为带着问题学习呢?首先,要想想学习go语言的目的是什么?选个开发项目来练手,边学边做,带着问题有目的的学习语言 效率会很高。
当然,如果之前没接触过编程,可能前期需要看看入门的视频和实例,按照指导一步一步跟着动手实验。
总的来说,多动手,多想多总结,然后带着问题学习,学习效率应该很高了。
(图文无关)
5月20日工业和信息化部信息中心发布《2018中国区块链产业白皮书》,Go语言与区块链成为“数字中国”建设的重要支撑,go语言由此被提起!
Go语言热度攀升,市场薪资居高不下
据BOSS直聘研究院数据显示2018年Go语言与区块链职位月薪11000元以上占整体的95.5%
为什么Go语言被众多名企青睐?
区块链主流编程语言
简单易学开发速度快
Go语言并发性好
如何学习GO语言:
可以到黑马程序员看一下这些GO语言的教程哦!也可以后台回复:go语言
先来看看什么是go语言:
Go语言是谷歌2009发布的第二款开源编程语言。
Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。学习编程语言,主要的需要做到三点:
基础知识要学好。
学会抄代码,直到自己能倒写如流!
学会自己写代码,只有自己会写代码了,才是真正的学会了!
都说“欲速则不达”,么有扎实的基本功,怎么能更好的学习!就像建房子,首先要有地基,之后才能往上盖,这样就不会坍塌!
推荐入门视频:20小时快速入门go语言
当你把基础学完之后,要想更好的掌握,就可以考虑抄代码了!我们开始写代码都是没什么思路,也无从下手,但是我们可以模仿别人写代码,上海俗话里面常说"吃大户,用大户,消灭大户",我们就是"看代码,抄代码,最后自己写代码"
当你可以写代码的时候,就说明对GO有了很好的了解,这时候就要自己做项目了。
关于学习视频,楼楼可以找我要哦,关于对GO学习,大家也可踊跃参加,欢迎指正批评!
go语言语法简单,有编程基础的学起来不困难,上手很快的。语法弄明白之后就是他的数据类型,已经go语言的OOP。有了一定基础之后可以看一些开源项目的源码,帮助很大的。之后自己可以动手写一下小的项目,网络编程的聊天室等等。其实go可以说的上是拿过来就可以用的语言,所以学习不要有压力,多看看视频,多动手。
0
回答9
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答