内容简介:之所以会写这篇文章,是因此在自学基础,除了学习对于
之所以会写这篇文章,是因此在自学 Go
语言的过程,总会有些困惑和迷茫,总希望更好地学习下去,因此有了一些想法,在这里梳理一下,以便日后回过头来也可以看看此时此刻的想法。
关于基础
基础,除了学习 Go
语言的基础外,也应该加强计算机基础的学习。
对于 Go
语言的基础,很多从其他语言转过来的人,会觉得 Go
的基础就是简单的语法知识,因此没有注重这块知识的学习,其实,我觉得对于 Go
语言的基础除了 基础语法
之外,还有 Go语言的使用规范
、 编程思维
、 CSP模型
等,都需要深入学习和研究。
另外一个就是计算机基础,这方面的基础比较枯燥,包括 数据结构
、 算法
、 计算机原理
、 计算机操作系统
、 计算机网络
等,我觉得计算机基础知识是一个 程序员 能走多远的关键因素,没有这些基础知识的加持,对于 Go
语言的学习与使用,只会停留很基础的层面,无法入使用。
所以,基础很枯燥,但对于基础的学习,很有必要。
关于看书
很多关于 Go
语言的书籍内容都是千篇一律的,大概是因为这些书籍上面列出的知识很基础,和 Go
语言的官方文档差不多,因此,如果是学 Go 语言的基础,建议还是看官方文档,特别建议看《Effective Go》,这里面有官方提供的Go语言的基础知识与使用方式。
当然也不是说所有的书籍都不值得看,像 《Go程序设计语言》
和 《Go语言实战》
这些经典的书籍,还是应该多看看。
除了官方文档与经典书籍,我觉得一些实战的书籍也不错,比如掘金的 《基于 Go 语言构建企业级的 RESTful API 服务》
,偏实战的书籍或课程,可以学习如何应用 GO
语言开发应用程序,学习 Go
语言最重要的一点就是使用 Go
语言的思维开发应用程序,而不用其他编程语言的思维来写 Go
程序。
另外一个要说的是,英语真的很重要,很多的技术官方文档都是用英文写的,所以需要一定的英语基础才阅读,很多人会说看翻译的中文文档不就行了,对于一些中文文档,一个是翻译得不全,一个是有时候也翻译得不准,还真不如直接看英文文档。
除了埋头苦学,还应该干什么?
阅读优秀开源项目代码
阅读别人优秀的项目源代码,是提升自己写代码能力的一个很好的方式,我们可以从那些优秀的开源项目中学到别人的代码组织方式,设计模式和代码分层,解决问题思路,优秀的算法和数据结构,甚至可以学习一些命名风格等。
尤其是从别的开发语言转到 Go
语言的同学,更应该多阅读 Go
语言的一些开源项目,因为 Go
语言的很多设计和开发思想,跟其他编程语言真的很大的区别,所以,当我们转到 Go
开发时,应该学习使用Go的思维去解决问题,而不是用其他编程语言的思维来使用 Go
语言。
Go
语言的开源项目有很多,最有名的像大家都知道的 Docker
和 Kubernetes
,下面的网址,是别人维护的 Go
语言优秀开源项目列表,建议大家收藏。
多动手,维护一个自己的开源项目
除了阅读别人优秀的项目源代码,其实,我们也可以维护一个自己的开源项目,这样的做好处是什么呢?
维护一个自己的项目,可以综合地运用自己所觉得的知识,看书看视频看文档去做代码练习,得到的只是一些简单的代码片段,不是一个综合性成果,真正体现自己学习所得的东西,应该是一个完整的项目。
加入技术社区
每一种编程语言或技术都属于自己的社区或圈子, Go
语言也一样有自己的社区,当然,那些英文的社区虽然有更丰富的资料和讯息,但我们可以由自己的英文无法与外国的技术大牛沟通,那也没关系,Go语言也有一样非常优秀的中文社区,如 Go语言中文网
。
除此之外,很多技术圈都会建很多的微信群或QQ群,我觉得加入一两个这样的群,跟群里的人讨论技术,遇到不懂的问题,也可以发问,如果自己懂的,也可以帮别人解决,让自己更加有学习的动力。
最好的学习方式:写作
为什么说写作是最好的学习方式呢?因为写作是一个教别人的过程,我们希望写的东西别人能看懂,这就会逼着我们主动去学习,而主动学习是最高效的学习方式。
这里有个概念,叫 费曼技巧
,讲就是通过教授别人来达到主动学习的目的,而主动学习金字塔中学习效率最高的学习方式。
因此,在 Go
语言的学习过程中,最好的学习方式还是在学习的过程,学会总结并记录所学的知识碰到的问题。
小结
对所学的知识进行简单的整理,或许这样有助于更加清晰地认识自己的学习,也能更好地调整学习方向与目标。
以上所述就是小编给大家介绍的《结合自己的经历谈谈怎么更好地学习Go语言》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 代理模式——结合SpringAOP讲解
- 如何结合 Scrum 和 Kanban
- NServiceBus 结合 RabbitMQ 使用教程
- ActiveMQ结合Spring收发消息
- quicklink学习以及结合React
- 业务流程与软件架构的结合
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。