几个月前,我将钱押注于教授自我Golang。 我想看一下Go的原因有很多。 第一个是易于打包和gRPC支持。 接下来是并发模型以及例程的工作方式。 语言和生态系统周围的最后一个社区和资源。
在youtube上度过了几个小时并阅读了几篇文章和教程后,我坚信我需要一个基础知识的好地方。 毕竟,如果没有基础知识,我们只是基于反复试验就进行猜测。 我看了看几本书,读了一些视频课程。
首先,我花了几个小时来学习Go速成课程,以了解语言和结构。 完成此操作后,我获得了我曾经阅读过的关于编程语言的最佳入门书籍。
这些作者的工作非常出色,本书中使用的示例既实用又发人深省。 第一章介绍了如何在应用程序中有效使用Goroutines和并发。 关于内部如何工作的解释是数组,切片,映射到接口。
这本书很棒。 但是,我错过了一些东西。 我想练习我学到的东西。 因此,就像在大多数其他情况下一样,我在考虑要构建的东西。 通常,当您需要在项目中使用其他堆栈时,您最终也会很好地学习堆栈。 我想,为什么不呢。 一两个星期后,我意识到这无济于事。 纯粹是因为某些构造及其使用方式对我来说有点陌生。 所以我发现它不太自然。 当我想办法克服困难时,我想起了卡梅隆·普赖斯(Cameron Price)在Micropatterns上观看的这段视频 。 在这里,他讨论了如何通过采取小步骤并解决小问题来学习Elixir。 看完之后,我决定启动Go track exercism.io
开始学习曲目后,我也得到了一份自己的《小小Go Book》的副本,最终我想在每次快速刷新某些主题时都将小小Go Book作为参考。 如果我想重新阅读某个领域,请回到“行动中”中涉及的章节。 有了这些,我目前正在使用Go编程来完善我的基础知识。
在exercism.io上受指导的课程使社区学习变得更加有趣,从而为您提供有关如何解决问题的反馈。 通过查看已发布的社区针对同一问题的答案,您可以洞悉其他开发人员的思维过程,他们做得如何以及可以从彼此中学到什么。
在我看来,到目前为止,这是我过去5年来最富有成效的学习经历。 而我所解决的这些微模式或问题使我可以深入了解一些小细节,如果我正在构建入门级应用程序以学习语言和生态系统,那我会错过这些细节。
在学习Go lang时,这里还有很多其他地方,您可以轻松找到问题的答案,
- 问答:stackoverflow.com
- 精选的资源列表: https : //github.com/avelino/awesome-go
- 松弛通道: https : //invite.slack.golangbridge.org/